Opening a TStream on stdin/stdout in a Delphi console app
-
21-08-2019 - |
Question
I'm trying to write a Delphi console application that creates a TStream for its standard input, and another TStream for its standard output.
(It will be launched by a host app with its input and output redirected to pipes, and will be passing binary data to/from that host app, so TStream will be much better-suited to the task than ReadLn/WriteLn.)
How do I go about opening a TStream on standard input or standard output?
Solution
Off the top of my head:
InputStream := THandleStream.Create(GetStdHandle(STD_INPUT_HANDLE));
OutputStream := THandleStream.Create(GetStdHandle(STD_OUTPUT_HANDLE));
Give that a go..
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow