Hi,
ich lese mit folgendem Code aus einem Handle:
Quelltext
1:
| if WaitForSingleObject(hOReadPipe,0)<>WAIT_TIMEOUT then ReadFile(hOReadPipe, Buffer[0], BUFSIZE, BytesRead, nil) else Application.ProcessMessages; |
Gibt es etwas zu lesen, so erhalte ich auch was ich brauche. Ist jedoch schon alles aus dem Handle ausgelesen, wird ReadFile trotzdem ausgeführt. Es wartet auf Inhalt, den es nicht kriegt. Und wartet - folglich liegt der Fehler in WaitForSingleObject... Aber wie kann ich das Ändern?
maxk
PS: Ich versuche eine Ausgabe von DOS-Abzufangen. Der Code des
Beitrages kommt dabei nicht in Frage, da ich die Ausgabe brauche, während das Programm noch läuft - und nicht erst da nach.
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.