Zitat von
DelphiManiac:
Hi, naja mit Frage Antwort Spiel habe ich eigentlich eine Kommunikation über eine Schnittstelle (USB) gemeint,
ich sende Daten raus und warte bis Daten wieder zurück kommen (Antwort)...
Warum so spät die Aufgabenbeschreibung ?
Auch dann sollte man die Systemzeit (Oder GetTimerTicks) benutzen, um den Time-Out zu berechnen.
Delphi-Quellcode:
// Pseudocode, soll nur das Prinzip zeigen
maxAntwort := 5.5; // Sekunden
USB_SendMessage(....);
Endtime := Now + maxAntwort / (60.0*60.0*24.0);
while (EndTime > Now) and not Application.Terminated do
begin
if USB_ReadMessage(..) then
begin
// Daten sind da
break; // Schleife verlassen
end;
// Alle angefallenen Event bearbeiten
Application.ProcessMessages;
end;