如何在 Delphi 搜索路径中使用系统变量?

How Do I Use System Variables In Delphi Search Path?

在 Delphi XE2 中,我正在设置搜索路径。我想使用我定义的系统变量来缩短搜索路径中使用的各种文件夹的字符串。

我是这样做的:

Search path         : x:\Delphi Library\XTools;x:\Delphi Library\XDiag;
I define variable   : L = x:\Delphi Library
Search path using L : $(L)\XTools;$(L)\XDiag;

如果我不使用定义的环境变量,即写出完整路径,一切都很好,但如果我使用环境变量,编译器不理解搜索路径。

我一直在使用 Delphi 3,它比 XE2 简单得多,所以也许我没有在正确的位置指定路径或变量:

此处指定路径:

Project Manager|Project|Options|Delphi Compiler|Target All Configurations - All Platforms|Search Path

此处指定变量:

Project Manager|Project|Options|Debugger|Target: All Configurations - All Platforms|Environment Block|User Overrides

我刚刚在 XE2 中做了以下操作:

  • Tools|Options|Environment variables 中,我将用户覆盖定义为我的 AutoConsole.pas 单元的目录,作为新变量 L
  • 在一个全新的控制台项目的选项中,我将搜索路径定义为$(L)
  • AutoConsole 添加到该项目的 uses 子句中
  • 我毫无问题地编译了该项目,并且 AutoConsole 做了它应该做的事情:它向我显示了一条消息 Press any key... 并等待按键。
  • 然后我从搜索路径
  • 中删除了$(L)
  • 程序不再编译,因为找不到AutoConsole
  • 我重新添加了$(L),程序再次编译运行。

所以你想做的应该会奏效。我不知道你做错了什么,但如果你像我一样做,它应该有效。