问题描述
使用:D7
uses SysUtils,StrUtils,IdHash,IdHashMessageDigest;
..
var
idmd5: TIdHashMessageDigest5;
h,v: string;
begin
idmd5 := TIdHashMessageDigest5.Create;
try
h := idmd5.HashStringAsHex(v);
finally
idmd5.Free;
end;
我有这段代码,它在 Delphi 7 的早期编译和运行良好,带有 Indy 的捆绑版本。将 Indy 升级到最新版本 (v10) 后,出现编译时错误:
[错误] xxxx.pas(71): 未声明的标识符:'HashStringAsHex'
请帮忙!
附加:
我已经通过更改解决了
h := idmd5.HashStringAsHex(v);
到:
h := idmd5.AsHex(idmd5.HashValue(v));
然而,上面的代码是在一个包中(自定义组件)。在我的主应用程序中,相同的更正代码在编译时仍会抛出 undeclared identifier
。
现在真的很混乱!如何在一个项目中编译相同的代码,而在另一个项目中抛出编译时错误?!
更新
我已经解决了。组件包使用旧的 Indy 库。删除该引用并更新源以包含 v10 库后,它现在可以工作了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)