这就是我想做的。我有一个项目必须在某些版本的 Delphi 或更高版本中编译。我想使用条件编译器指令来测试 Delphi 版本,然后使用自定义消息生成自定义编译器错误。如果不可能出现错误,能够生成自定义编译器警告或提示也足够了。
当然,我可以在条件代码段中放入一些无法编译的乱码,这很好。但我的问题是“我可以有条件地生成自定义编译器错误吗?”
谢谢约翰和塞尔格。
这是解决方案以及有关该问题的更多详细信息。我有一个最初在 Delphi 2007 中构建的应用程序。它包括附加到 Web 服务的 Internet Direct 组件。这些使用 SSL。我最近将 SSL 库升级到更高版本,但这些库与 Delphi 2007 Indy 组件的配合不太好。我现在添加了以下编译器指令,以确保该应用程序将不再使用 Delphi 2007 或更早版本进行编译:
{$IF CompilerVersion <= 19.0} // Delphi 2007 = 19.0
{$MESSAGE Error 'This project must be compiled in Delphi 2009 or later'}
{$IFEND}
您可以使用:
{$Message HINT|WARN|ERROR|FATAL 'text string' }
{$MESSAGE 'Boo!'} emits a hint
{$Message Hint 'Feed the cats'} emits a hint
{$messaGe Warn 'Looks like rain.'} emits a warning
{$Message Error 'Not implemented'} emits an error, continues compiling
{$Message Fatal 'Bang. Yer dead.'} emits an error, terminates compiler
See: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/compdirsmessagedirective_xml.html http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/compdirsmessagedirective_xml.html
这适用于 Delphi 6 及更高版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)