Delphi-Quellcode:
try
while (Pos(EOCommand, AClient.Buffer) > 0) do begin
Index := Pos(EOCommand, AClient.Buffer);
DCFrame := Copy(AClient.Buffer, 1, Index + 4); // +4 ersetzten durch Length(EOCommand)
AClient.Buffer := Copy(AClient.Buffer, Index + 5, Length(AClient.Buffer)); // +5 ersetzen
Parse_DCFrame(AClient, DCFrame);
end;
except
Exit;
end;
Problem ist wie baue ich es in diese Schleife mit ein.
Im Schleifenkopf geht es nicht da er dort ja auch gleich auf den String zugreift.
ich könnte es aber mal so testen
Delphi-Quellcode:
try
while assigned(AClient) do begin
if (Pos(EOCommand, AClient.Buffer) = 0) then
Exit;
Index := Pos(EOCommand, AClient.Buffer);
DCFrame := Copy(AClient.Buffer, 1, Index + 4); // +4 ersetzten durch Length(EOCommand)
AClient.Buffer := Copy(AClient.Buffer, Index + 5, Length(AClient.Buffer)); // +5 ersetzen
Parse_DCFrame(AClient, DCFrame);
end;
except
Exit;
end;
Falls das nicht klappt, wüsste ich aber auch icht weiter auf anhieb.