Dein Problem sollte mit dieser While-Schleife zu tun haben... Ja... Führe das doch einfach mal in der
IDE aus und setze ein paar Haltepunkte und lass ein paar Veriablen überwachen? Ich denke er geht nicht mehr aus dieser Schleife raus... Was passiert wenn du es so ausführst:
Delphi-Quellcode:
procedure TForm1.RecvBuf();
var
packet: TPacket;
begin
while IdTCPClient.Socket.Connected do
begin
try
IdTCPClient.Socket.Recv(packet, sizeof(packet));
case packet.header of
01: LoginPacket(packet);
Exit; // <--- Mit diesem Exit...
end;
except
Memo1.Lines.Add('.');
end;
end;
end;
Lass doch mal "packet" überwachen...
LG, Real-TTX