Registriert seit: 6. Mär 2013
6.158 Beiträge
Delphi 10 Seattle Enterprise
|
AW: RS232 langasm
12. Sep 2017, 22:30
Etwas anderes als ReadFile werden die auch nicht machen. Wenn dein Buffer so groß ist du als nNumberOfBytesToRead
nun SizeOf(Buffer)
und nicht z.B. 1
angibst dann läufst du zwangsweise auf einen Timeout. Der ist übrigens so lang wie du ihn eingestellt hast (Hast du doch, oder?).
Ansonsten will ich nichts schlechtreden, aber ich glaube Overlapped macht das ganze nur asynchron, auf deinen Timeout läufst du trotzdem. Glauben statt wissen da ich es noch nie gebraucht habe - Einfach Byte für Byte lesen und wenn die Länge nicht bekannt ist kann eh nur dein Code wissen ob die Nachricht komplett ist. Deshalb einfach nach jedem Byte schauen.
|