delphi - 在delphi中使用两个exe文件时相对和绝对路径之间的冲突

标签 delphi delphi-xe2 delphi-7

我在C:\ MyProject文件夹中有一个说myApp.exe的exe。它在logfile中写日志,例如tracefile.log,它也位于C:\ MyProject中。

现在,我必须执行一个计划任务,即Schedule1.exe,该任务还将写入位于C:\ MyProject的日志文件tracefile.log中。

好的,我创建了Schedule1.exe并将其保存在同一文件夹C:\ MyProject文件夹中,并使用此exe进行了调度。

问题:当我将日志文件的相对路径指定为“。\ tracefile.log”时,Schedule1.exe无法选择日志文件的路径。但是,当我给出完整的路径,例如“ C:\ MyProject”时,它将选择日志文件路径并在其上写入。

请提出可能是什么问题?

最佳答案

相对路径相对于流程的工作目录。进程的工作目录是在进程启动时确定的,并且可能不是包含可执行文件的目录。此外,工作目录可以在流程生命周期中更改。

在我看来,您应该提供这些文件的完整路径。您需要掌握可执行文件所在的目录。那是

ExtractFilePath(ParamStr(0));


因此,您应该使用以下代码来命名文件:

ExtractFilePath(ParamStr(0)) + 'tracefile.log'

关于delphi - 在delphi中使用两个exe文件时相对和绝对路径之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14833134/

相关文章:

delphi - 将字符串转换为 TXSDecimal

windows - 具有管理员权限的 Delphi 外部 exe 在 Windows 8 中被最小化

delphi - 我如何替换用于扩展和折叠节点的Treeview的图像?

delphi - 从 Delphi 应用程序接收 MS Word 的自动化事件

delphi - 最长算术和几何级数序列误差

delphi - 将 Delphi XE2 ADO 组件与 SQLOLEDB.1 提供程序一起使用是否存在已知问题?

delphi - 声明 Component[x] 类型

delphi - Val 不适用于 UInt64?

delphi - 在项目的主要单元中使用条件 - IDE 会破坏代码

delphi - 如何调用克隆的对象