Kleine Datenhäppchen werden gern mal zusammengefasst
und große Blöcke werden natürlich aufgeteilt, denn viele Übertragungsprotokolle haben eine "maximale" Größe, wieviele Daten in ein Datenpacket reinpassen.
Außerdem können/müssen natürlich nicht alle Datenpackete gleichzeitig am Ziel ankommen.
Und nun rate mal, was das für deine empfangenen Datenhäppchen bedeutet.
In ReciveText muß also noch nicht alles drin sein.
Irgendwie sieht man auch nicht wo/ob buffer
ausgewertet wird.
Und das Löschen von
datas
kann den nächsten Befehl (teilweise) löschen.
[edit] Hab das
length(datas) >= buffer
übersehn, aber auch dir scheint wohl aufgefallen zu sein, daß
length(datas) = buffer
wohl nicht immer funktioniert.
Zitat:
Delphi-Quellcode:
Delete(Datas,1,pos('|',Datas));
...
buffer := 0; datas := '';
Das sieht nach nutzlos doppeltem Code aus.
PS: Die 0 in dem Copy sieht nicht grade richtig aus.