【发布时间】:2019-11-11 13:20:15
【问题描述】:
我已经找到this answer 了解如何在运行时检查 Indy 版本,并且有多种不同的方法。但是我正在寻找如何在编译时使用条件来检查 Indy 版本。较新版本的 Indy 中有一个功能,如果它可用,我希望我的开源项目使用此功能。但我需要有条件地编译它。
我找到了IdVers.inc,但这个文件只包含常量 - 没有版本条件。
更具体地说,TIdHTTP 有一个属性HTTPOptions,它有一个新的选择hoWantProtocolErrorContent。如果有的话,我想用它。
如果此选项可用,我如何有条件地使用它?
【问题讨论】:
-
我认为 Remy 可能会建议如何执行此操作,但同时您可能会查看此 docwiki.embarcadero.com/RADStudio/Rio/en/IF_directive_(Delphi),尤其是
Declared选项。 -
@MartynA 是的,
{$IF Declared(...)}是处理这个问题的正确方法,例如:{$IF Declared(hoWantProtocolErrorContent)}或者它必须是完全合格的,我不记得了:{$IF Declared(IdHTTP.TIdHTTPOption. hoWantProtocolErrorContent)
标签: delphi indy conditional-compilation