gpt4 book ai didi

delphi - 如何在 PostBuild 事件上并行执行程序?

转载 作者:行者123 更新时间:2023-12-02 14:33:23 31 4
gpt4 key购买 nike

在项目选项中使用以下指令构建/运行项目时,我设法将编译器设置为执行另一个程序:

call program.exe param1 param2

问题在于编译器执行“program.exe”并等待其终止,然后运行项目可执行文件。

我问的是:如何设置编译器并行运行两个可执行文件,而不等待 PostBuild 事件中的一个终止?

提前致谢

最佳答案

我不知道 IDE 如何设法等待“start”启动的进程终止,但在您自己的程序启动器中以最简单的方式调用“CreateProcess”似乎可以。

编译某事。喜欢;

program starter;

{$APPTYPE CONSOLE}

uses
sysutils, windows;

var
i: Integer;
CmdLine: string;
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
begin
try
if ParamCount > 0 then begin
CmdLine := '';
for i := 1 to ParamCount do
CmdLine := CmdLine + ParamStr(i) + ' ';
ZeroMemory(@StartInfo, SizeOf(StartInfo));
StartInfo.cb := SizeOf(StartInfo);
ZeroMemory(@ProcInfo, SizeOf(ProcInfo));
if not CreateProcess(nil, PChar(CmdLine), nil, nil, False,
NORMAL_PRIORITY_CLASS, nil, nil, StartInfo, ProcInfo) then
raise Exception.Create(Format('Failed to run: %s'#13#10'Error: %s'#13#10,
[CmdLine, SysErrorMessage(GetLastError)]));
end;
except
on E:Exception do begin
Writeln(E.ClassName + ', ' + E.Message);
Writeln('... [Enter] to dismiss ...');
Readln(Input);
end;
end;
end.

然后在 PostBuild 上放置:

"X:\...\starter.exe" "X:\...\program.exe" param1 param2

关于delphi - 如何在 PostBuild 事件上并行执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2558530/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com