如何使用 JCL 的 TJclCommandLineTool 设置工作目录?
How to set the working directory using JCL's TJclCommandLineTool?
我在我的项目中使用 JCL Delphi library。下面是我的代码。
// uses JclSysUtils;
var cmd := TJclCommandLineTool.Create(parts[0]);
if cmd.Execute(params) then
begin
...
end;
如您所见,我使用TJclCommandLineTool
调用外部命令行程序。问题是外部程序总是 运行 在我启动应用程序的当前目录中。我想知道如何将自定义工作目录传递给外部程序。 JCL的文档很烂,找不到相关资料
TJclCommandLineTool 没有这样的选项。最简单的方法:
//uses System.IOUtil;
var oldDir := TDirectory.GetCurrentDirectory;
try
TDirectory.SetCurrentDirectory(ANewProgramDir);
var cmd := TJclCommandLineTool.Create(parts[0]);
if cmd.Execute(params) then
begin
// ...
end;
finally
TDirectory.SetCurrentDirectory(oldDir);
end;
我在我的项目中使用 JCL Delphi library。下面是我的代码。
// uses JclSysUtils;
var cmd := TJclCommandLineTool.Create(parts[0]);
if cmd.Execute(params) then
begin
...
end;
如您所见,我使用TJclCommandLineTool
调用外部命令行程序。问题是外部程序总是 运行 在我启动应用程序的当前目录中。我想知道如何将自定义工作目录传递给外部程序。 JCL的文档很烂,找不到相关资料
TJclCommandLineTool 没有这样的选项。最简单的方法:
//uses System.IOUtil;
var oldDir := TDirectory.GetCurrentDirectory;
try
TDirectory.SetCurrentDirectory(ANewProgramDir);
var cmd := TJclCommandLineTool.Create(parts[0]);
if cmd.Execute(params) then
begin
// ...
end;
finally
TDirectory.SetCurrentDirectory(oldDir);
end;