Abrindo um TStream no stdin / stdout em um aplicativo do console Delphi

Eu estou tentando escrever um aplicativo de console Delphi que cria um TStream para sua entrada padrão e outro TStream para sua saída padrão.

(Ele será iniciado por um aplicativo host com sua entrada e saída redirecionada para pipes e transmitirá dados binários para / do aplicativo host, portanto, o TStream será muito mais adequado para a tarefa do que o ReadLn / WriteLn.)

Como faço para abrir um TStream na entrada padrão ou na saída padrão?

questionAnswers(1)

yourAnswerToTheQuestion