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

时间:2019-06-24 17:43:52

标签: delphi delphi-7 conditional-compilation

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

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

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

我能够做的是创建文件的哈希,这样我就可以确保它没有被修改

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

那样就不起作用了,因为每时每刻都会返回[Fatal Error]的消息

有什么主意吗?

1 个答案:

答案 0 :(得分:6)

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

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

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