异步进程不以参数开始

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 会为您做到这一点。