Bueno ese detalle ya lo solucione, más o menos esta clase no deja de ser un Tbytes con un pointer, dejo el código de la declaración del tipo en sí
{$IFDEF CLR}
TWSocketData = TBytes;
{$ENDIF}
{$IFDEF WIN32}
TWSocketData = type Pointer;
{$ENDIF}
Incluso el método, me deja de recibir y enviar, me dejan pasarle en
vez de un TWSocketdata, un Tbytes.
Por eso estupendo, el envio de un buffer desde cliente y servidor,
es correcto. Aparentemente envio y recibo bien, con string no hay problema
Pero salta una excepción de la clase, le envio un string convertido
a bytes con el método widebytesof, tengo varios breakpoint en las líneas
var
a : TWsocketdata;
b : integer;
begin
b := scliente.Receive(a,scliente.BufSize);
textdatos.Text := textdatos.Text + inttostr(b) + #13;
textdatos.Text := textdatos.Text + widestringof(a);
Del servidor al recibir. Capta la información, pero puedo comprobar
por los puntos de parada, que le llega al TWSocketdata a $A6D200
ponga lo que ponga recibo exactamente lo mismo $A6D200
Si la variable a la declaro como Tbytes, recibo () y la variable B
que es el tamaño del buffer, que con A llega correctamente, con B llega
-1.
Alguna sugerencia para arreglarlo.
|