Hola
Tengo una aplicación que recibe un buffer proviniente de la red i trata el string en una base de datos.
Las comunicaciones funcionan correctamente.
El problema es la recepción de la cadena de caracteres.
Me explico; el trozo de codigo donde se trata la cadena es el siguiente:
Código:
procedure ServerReceive(ID: integer; Buffer: ETCPBuffer; Size: integer);
var Recepcio : string[255];
var Correcte : integer;
var i : integer;
var Enviar : string[3];
var Client : string[255];
var Ip : String[255];
begin
Enviar:= 'ACK';
move(Buffer[0], Recepcio, Size);
Delete(Recepcio, 17, Length(Recepcio)-16);
Al final me sale un string con la información que quiero.
El problema esta en que si yo desde local envio:
1234567890123456
recibo
1234567890123456
en cambio si envio desde la red:
1234567890123456
lo que recibo(O el programa lee) es lo siguiente:
234567890123456
Es decir "se come" el primer caracter, lo he probado con un cliente hardware, uno de software de delphi otro de Visual Basic i siempre pasa lo mismo. Tengo un servidor parecido hecho en Visual Basic i no pasa, por lo que creo que es problema de mi Buffer que elimina el primer caracter....
Sabeis como se puede arreglar? ya que me está trayendo de cabeza porqué no logro entender el porqué en local si que funciona i en remoto se come el caracter.
Gracias!
Saludos.