这里是我想做的。我有一个项目,必须在某些版本的Delphi或更高版本中编译。我想使用条件编译器指令来测试Delphi版本,然后导致自定义编译器错误生成自定义消息。能够生成自定义编译器警告或提示也将是adaquate如果不可能的错误。
当然,我可以把一些不可编译的giberish在条件代码段,这很好。但我的问题是“我可以生成,有条件的自定义编译器错误?
谢谢Johan和Serg。
这里是解决方案,和更多的细节问题。我有一个最初在Delphi 2007中构建的应用程序。它包括Internet Direct组件以附加到Web服务。这些使用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
这在Delphi 6和更高版本中工作。