我有一个在delphi中编码的命令行应用程序,我需要从普通的桌面应用程序(也用delphi编写)调用.简而言之,我想调用命令行应用程序并在列表框中显示它"实时"输出的文本.
自从我使用shell以来已经很久了,但我清楚地记得,为了从命令行应用程序中获取文本 - 我必须使用管道符号">".像这样:
C:/mycmdapp.exe> c:/result.txt
这将打印到shell的任何文本(使用writeLn)并将其转储到名为"result.txt"的文本文件中.
但是......(这里有泡菜),我想要一个实时结果而不是一个积压文件.一个典型的例子是Delphi编译器本身 - 它设法向IDE报告发生了什么.如果我的记忆正确地为我服务,我似乎记得我必须创建一个"管道"通道(?),然后将管道名称分配给shell调用.
我试图谷歌这个但我老实说不确定如何制定它.希望社区中的某些人能指出我正确的方向.
更新:此问题可能与如何在Delphi中运行命令行程序相同?.虽然标题和问题本身并不相同,但有些答案符合我的要求.