为满足特定需求,Delphi自己的LIBs文件已被更改。因为我们有几个程序员,所以我需要确保每个人都有这个变化,将来也是如此。
由于Delphi库已安装且未进行版本控制,因此我需要验证它的版本是否正确。
我想在编译这个版本之前这样做。
我所能做的就是创建文件的散列,这样我就可以确保它没有被修改
{$IF getMD5('C:\Delphi7\Lib\arquivo.dcu') = 'B1C1CBE80477S09AC4C1B39C28FE9619'}
{$Message Fatal 'Version of file .dcu file in Delphi7 Lib is wrong..}
{$IFEND}
这样它就不会工作了,因为每时每刻都会返回[Fatal Error]
消息
有什么想法吗?
发布于 2019-06-25 02:07:17
我的Delphi时代已经过去很久了,但我使用C++的方法是,在库中添加一个项目所依赖的唯一符号。然后,如果符号丢失(即使用的不是您的库版本),您至少会得到一个链接时间错误。
这看起来是什么样子(不确定这在Delphi中是否可行)?除了对LIB的修改之外,您还添加了一个名为"MyModificationSentinelABCDEF()“的函数,该函数为空(名称并不重要,只需确保它是唯一的)。然后,不再使用您提出的$IF语句,而是添加对此函数的调用和描述性注释,以解释该函数存在的原因以及如果出现与其相关的错误时必须执行的操作。
如果该函数丢失,您应该会看到一个编译/链接错误。
https://stackoverflow.com/questions/56741544
复制相似问题