有没有办法告诉构建 DLL 的 Delphi 项目将与正在构建的 DLL 的输出目录位于同一目录中的可执行文件用作主机应用程序?
像这样:
有一件事是,我正在使用 Delphi XE2 的选项集,因此在我正在构建的 DLL 的 dproj 中,我什至没有 DCC_ExeOutput 目录,不确定这是否重要。
允许这样做会严重简化我们在尝试从 VSS 迁移到 SVN 时遇到的一些问题。
另外,你怎么称呼 $(thing) 的?
最佳答案
$(name)
是环境变量。我尝试将主机应用程序设置为 .\$(Platform)\$(Config)\Test.exe
并收到此错误消息:
Could not find program, '.\%Platform%\%Config%\Test.exe'.
请注意 $(...)
如何转换为环境变量语法。
我还尝试使用 $(systemdrive)\Test.exe
并收到此错误消息:
Could not find program, 'C:\Test.exe'.
很明显,环境变量将被它们的值替换(如果它们确实存在)。我认为可以合理地得出这样的结论:用于启动主机应用程序的环境显然没有定义特殊的 Delphi 特定环境变量。
所以我认为您问题的答案是您不能对主机应用程序设置使用这样的间接。
另一方面,环境变量被替换,因此也许您可以使用它来使事情变得更容易。换句话说,您可以定义自己的一些环境变量。我不知道这是否对您有帮助,因为我不知道您问题的具体细节。
关于输出目录中的 Delphi XE2 主机应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8566830/