Ist auch klar, denn du liest nur das aus, was "aktuell" im Puffer ist, das können mehr oder wender sein, als das, was du jetzt auslesen willst.
Bei weniger mußt du entweder auf die fehlenden Daten warten oder die Daten sammeln und zusammensetzen, bis die Anzahl ausreicht.
Ich würde dir aber eh empfehlen, eine Comport-Komponente zu benutzen.
Ist bei sendData Length(SDaten) größer als Anzahl?
-> Buffer-overrun?
Zitat:
port:=pChar('com'+IntToStr(PC_COMM));
Delphi speichert den erzeigten String in einer temporären String-Variable, und bis zur Verwendung von "port" könnte es nun passieren, daß Delphi die Variable löscht/überschreibt, wenn man das erst "viel" später benutzt.