Hallo,
soweit ich weiß ist die PORT.dll ein Wrapper für solche "ordentlichen" Windows Funktionen? Außerdem Polle ich ja nicht wirklich, ich weiß das nach dem senden von "data5" 66 bytes Daten + ein ENTER ($0d) zurückkommen. Das System wird dadurch nicht wirklich ausgelastet:
Delphi-Quellcode:
SendCommand('data5',False);
Sleep(20);
sBuffer := '';
nTime := GetTickCount + 1000;
bWorking := True;
for i := 1 to 67 do
begin
sChar := Readbyte();
If GetTickCount >= nTime Then
begin
ShowError(105,'Zeitüberschreitung beim Empfangen von Daten (Timeout)');
CloseConnection;
bWorking := False;
Exit;
end;
sBuffer := sBuffer + Chr(sChar);
end;
for i := 1 to 67 do
begin
if sChar = 255 then
begin
CloseConnection;
ShowError(106,'Ungültige Daten empfangen.');
bWorking := False;
Exit; // Fehler
end;
end;