编译之前,请验证文件版本是否正确

Dav*_*vid 2 delphi conditional-compilation delphi-7

针对特定需要,已更改了Delphi自己的LIB的文件。由于我们有几个程序员,因此我需要确保每个人以及以后都进行此更改。

由于已安装Delphi库且未对它们进行版本控制,因此我需要验证其版本是否正确。

我想在编译版本之前执行此操作。

我能做的是创建文件的哈希,因此我确保它没有被修改

{$IF  getMD5('C:\Delphi7\Lib\arquivo.dcu') = 'B1C1CBE80477S09AC4C1B39C28FE9619'}
    {$Message Fatal 'Version of file .dcu file in Delphi7 Lib is wrong..}
{$IFEND}
Run Code Online (Sandbox Code Playgroud)

那样就行不通了,因为每时每刻都返回 [Fatal Error]

任何的想法?

das*_*smy 6

我的Delphi时间是很久以前的,但是我使用C ++的方法是在项目所依赖的库中添加一个唯一的符号。然后,如果缺少符号(即未使用您的lib版本),则至少会出现链接时间错误。

看起来如何(不确定在Delphi中是否可行)?除了对LIB进行修改之外,还添加了一个名为“ MyModificationSentinelABCDEF()”的函数,该函数为空(名称不重要,只需确保其唯一即可)。然后,代替您提出的$ IF语句,您添加了对该函数的调用和描述性注释,以解释为什么存在该函数以及在与之相关的错误时必须执行的操作。

如果缺少该函数,则应该看到编译/链接错误。