Also, habe mit meiner Project1.exe Deine Project1.exe aufgerufen und siehe da, es funktioniert
Aber: Die Ausgabemenge Deiner Exe ist so gering, dass sich die Ausgabe erst lohnt, wenn Dein Programm beendet ist und dann noch der Rest der Ausgabe gelesen wird.
Die ganzen Pipes geben nicht sofort jedes einzelne Zeichen aus, sondern "sammeln" immer ein bisserl.
Hier sind es
Delphi-Quellcode:
procedure CaptureConsoleOutput(const ACommand, AParameters: String; AMemo: TMemo);
const CReadBuffer = 2400;
eben 2400 Byte. Immer wenn die voll sind, gibt es eine Ausgabe, beim Programmende dann den Rest.
Bei meiner Komponente sind es
eben 4 Kilobyte.
Gib einfach mal für den Test was mehr aus oder schneller und dafür länger zählen...