这与另一个 Delphi 版本的问题有关,但仍然不同;
我正在寻找一种方法来检测正在编译我的代码的 Delphi 编译器的服务包(或内部版本号)。jedi.inc很好,但它没有告诉我确切的版本。(我也不能使用其中的 SUPPORTS_* 定义,因为它们也与版本相关)
我需要这个,因为旧版本中存在一些错误(在这种情况下,它是Delphi 2009 中的 _ValLong 错误),这些错误已在以后的服务包(在这种情况下为 Delphi 2009 服务包 3)中修复。
目前我的代码中有各种检查,如下所示:
{$IFDEF BUG_QC_68123}
但我不能只在我的主要包含文件中这样说:
{$IFDEF DELPHI2009_UP}
{$DEFINE BUG_QC_68123}
{$ENDIF}
...因为这会错过 D2009SP3 及更高版本不再存在此错误的事实。
有任何想法吗?
PS:这可能也适用于较旧(和较新)版本的 Delphi,所以我想任何库和/或组件供应商也会对此感兴趣。