ich habe hier eine Unit gebastelt, in der ich via Synaser Daten weg schicke und dann auf Antworten warte das mache ich in etwa so :
Code: Alles auswählen
// Wir warten auf ein C als Trigger für den Übertragungsstart
timeout := gettickcount;
bool := true;
While bool Do Begin
res := ReadBytes(10);
While (res = Nil) And (GetTickCount < timeout + MaxWaitForAnswerTime) Do Begin
res := ReadBytes(10);
End;
If assigned(res) Then Begin
If res[0] = ord('C') Then Begin
bool := false;
End;
End
Else Begin
Writeln('Error device is not in program mode or not responding.');
ExitCode := 1;
exit;
End;
End;
ReadBytes (10) versucht so lange Daten zu lesen bis 10 mS lang keine Daten mehr kamen.
Aus einer Normalen Anwendung heraus funktioniert der Code 1a, aber in den Konsolenanwendungen gibts den GetTickCount befehl nicht, da dieser ja in lclintf.pas sitzt und ich diese wiederrum nicht in einer Konsolenanwendung habe.
Mit welcher Variante kann man denn in einer Konsolenanwendung Zeitpunkte messen ?
Oder bleibt mir nichts anderes Übrig als meine Readbytes Routine entsprechend um zu schreiben, dass ich das GettickCount komplett ausbauen kann ?
Gruß
Corpsman