自定义范围
我有一个单元,我想在两个不同的程序中使用,以区分我想定义一个符号,然后在单元中检查它。
在我的项目 DPR 中;
program Project1;
{$Define MYDEF}
uses
Forms,
...
在我的 Form1 文件中,我有
procedure TForm1.FormCreate(Sender: TObject);
begin
{$IfDef MYDEF}
ShowMessage('boo');
{$EndIf}
end;
但是我看不到嘘! 定义是否仅限于一定范围?
I have a unit which I want to use in two different programs, to tell the difference I wanted to Define a symbol and then check that in the unit.
In my DPR for the project I have;
program Project1;
{$Define MYDEF}
uses
Forms,
...
and in my Form1 file I have
procedure TForm1.FormCreate(Sender: TObject);
begin
{$IfDef MYDEF}
ShowMessage('boo');
{$EndIf}
end;
however I don't get to see boo!
Are definitions limited to a certain scope?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Delphi 2007 和 {$IFDEF...} 指令,无法看到我们的条件
在您的项目下将定义添加到“条件定义”
Delphi 2007 and {$IFDEF...} directive, fails to see our conditional
Under your project add the define to 'Conditional Defines'
定义是文件本地的。如果您希望它们是全局的,请将它们添加到项目选项中。
The defines are local to the file. If you want them to be global, add them to the project options.
另一个解决方案是拥有一个包含文件并将其包含在所有单元和 .dpr 中。
这个解决方案更加独立于delphi版本。
如果您的定义与 Delphi 版本控制相关,请查看 http://www.stack.nl/ ~marcov/porting.pdf 了解如何在您的定义中设置系统结构的一些技巧。
Another solution is to have an includefile and include it in all units and the .dpr.
This solution is more delphi version independant.
If your defines are related to Delphi versioning, check out http://www.stack.nl/~marcov/porting.pdf for some tips how to setup a systematic structure in your defines.