![]() |
Caracteres de 16 bits en vez de 8 bit, funcion send
Hola Compis.
Estoy haciendo una aplicacion via socket con winsock en delphi 2010. El problema al que no encuentro solucion y por eso os pido ayuda (quiza porque no se plantear las busqueda en los foros y en la red) es que al enviar una cadena, se envian los caracteres como 16 bits, es decir, si quiero mandar 'Hola mundo' la funcion send para socket envia ' H o l a m u n d o'. Lo comprueba con wireshark y efectivamente lo hace asi anteponiendo un #0 antes de cada char. La ayuda de la funcion viene en C Ya he probado de todo (array of char como en el fuente C, y todo lo que se me ha ocurrido), pero no consigo lo que necesito, y eso con cadenas, cuando envie un fichero .... supongo que el problema sera justamente el doble, jejeje Pongo el codigo (muy resumido) por si quereis hacer alguna prueba
EDITO: estas funciones que ya usaba en delphi 7 funcionaban bien, mandaba solo los "caracteres puros" de 8 bits de ahi viene mi "problema" ahora. Gracias aunque sea por leerme. Un saludo. |
solucionado
Hola compis.
La solucion al problema es definir la varible cadena como "ansistring".
|
| La franja horaria es GMT +2. Ahora son las 08:22:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi