I have found and tried WaitForSingleObject, using the following syntax: ThereIsACharacterToRead := WaitForSingleObject(StdInputHandle,0) = 0; While ThereIsACharacterToRead do begin aByte := InputStream.ReadByte; ThereIsACharacterToRead := WaitForSingleObject(StdInputHandle,0) = 0; end;
However, WaitForSingleObject always gives back 0, meaning there should be information. My logging tells me that information arrives at least 500ms afterwards and that ReadByte waits for it. Something is not working. Thierry ----- Mail Original ----- De: "tcoq" <t...@free.fr> À: "FPC-Pascal users discussions" <fpc-pascal@lists.freepascal.org> Envoyé: Vendredi 9 Décembre 2011 17h56:13 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: [fpc-pascal] How to poll for a byte in Input? On windows, I did not find WaitForSingleObject, which is actually going to wait for the file. However I found ReadFileEx in the Windows API, which is an asynchronous read on the file. I'll try using that. ----- Mail Original ----- De: "Michael Van Canneyt" <mich...@freepascal.org> À: "FPC-Pascal users discussions" <fpc-pascal@lists.freepascal.org> Envoyé: Vendredi 9 Décembre 2011 16h57:47 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: [fpc-pascal] How to poll for a byte in Input? >... You must use fpSelect() or Poll on the handle on linux/unix. On windows, you'll need to WaitForObject() or so on the file handle. Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal