Ver Mensaje Individual
  #2  
Antiguo 15-04-2009
3NK1 3NK1 is offline
Registrado
 
Registrado: abr 2009
Posts: 4
Reputación: 0
3NK1 Va por buen camino
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.
Responder Con Cita