出于特定需要,已更改了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]
的消息
有什么主意吗?
答案 0 :(得分:6)
我的Delphi时间很久以前,但是我使用C ++的方法是在项目所依赖的库中添加一个唯一的符号。然后,如果缺少该符号(即未使用您的lib版本),至少会出现链接时间错误。
这看起来如何(不确定在Delphi中是否可行)? 除了对LIB的修改之外,您还添加了一个名为“ MyModificationSentinelABCDEF()”的函数,该函数为空(名称并不重要,只需确保它是唯一的即可)。然后,代替您建议的$ IF语句,而是添加对该函数的调用和描述性注释,以解释为什么存在该函数以及在与之相关的错误时必须执行的操作。
如果缺少该函数,则应该看到编译/链接错误。