异步进程不以参数开始
TAsyncProcess doesn't start with parametrs
我想要 运行 来自 TProcess 的 phantonJS 可执行文件以及我的 JS 和一些参数。但是 TAsyncProcess 忽略了我的命令行参数。
PhandomJS 文档说,我必须按顺序 运行 我的脚本:
phantomjs.exe [phantom opts] jsfile.js [jsfile opts]
在代码中:
fProc := TAsyncProcess.Create(nil);
fProc.Options := [poNoConsole, poStderrToOutPut];
fProc.ShowWindow := swoNone;
fproc.StartupOptions := [suoUseShowWindow];
fProc.OnTerminate := @privOnProcTerminated;
fDebugFile := '';
...
fProc.CurrentDirectory := ExtractFilePath(fExecutable);
fProc.Executable := fExecutable;
fproc.Parameters.Add(fPhantomScript);
fproc.Parameters.Add(IntToStr(fPort));
fproc.Parameters.Add(fHost);
fproc.Parameters.Add(fDebugFile);
fProc.ShowWindow := swoShowNormal;
fproc.StartupOptions := fproc.StartupOptions + [suoUseShowWindow];
if not isRunning then
begin
fProc.Execute;
Logger.Send('phantonJS launched.');
Result := True;
end
可执行文件正在启动,但我没有看到,参数已应用于进程(通过系统资源管理器),脚本也无法正常工作。
为什么 TAsyncProcess 会忽略我的参数?
如何解决?
来自网站的 Lazarus 1.4.4。
目标 OS:Windows
我已经测试过这通常适用于 Lazarus。我假设传递的参数的语法是错误的。
正如@Nested Type 所说:您不需要引用参数。 TProcess 会为您做到这一点。
我想要 运行 来自 TProcess 的 phantonJS 可执行文件以及我的 JS 和一些参数。但是 TAsyncProcess 忽略了我的命令行参数。
PhandomJS 文档说,我必须按顺序 运行 我的脚本:
phantomjs.exe [phantom opts] jsfile.js [jsfile opts]
在代码中:
fProc := TAsyncProcess.Create(nil);
fProc.Options := [poNoConsole, poStderrToOutPut];
fProc.ShowWindow := swoNone;
fproc.StartupOptions := [suoUseShowWindow];
fProc.OnTerminate := @privOnProcTerminated;
fDebugFile := '';
...
fProc.CurrentDirectory := ExtractFilePath(fExecutable);
fProc.Executable := fExecutable;
fproc.Parameters.Add(fPhantomScript);
fproc.Parameters.Add(IntToStr(fPort));
fproc.Parameters.Add(fHost);
fproc.Parameters.Add(fDebugFile);
fProc.ShowWindow := swoShowNormal;
fproc.StartupOptions := fproc.StartupOptions + [suoUseShowWindow];
if not isRunning then
begin
fProc.Execute;
Logger.Send('phantonJS launched.');
Result := True;
end
可执行文件正在启动,但我没有看到,参数已应用于进程(通过系统资源管理器),脚本也无法正常工作。
为什么 TAsyncProcess 会忽略我的参数? 如何解决?
来自网站的 Lazarus 1.4.4。 目标 OS:Windows
我已经测试过这通常适用于 Lazarus。我假设传递的参数的语法是错误的。
正如@Nested Type 所说:您不需要引用参数。 TProcess 会为您做到这一点。