出现这个错误的原因是:
引用的单元里的函数,没有声明
unit StrToMd5;
interface
uses
System.SysUtils,IdHashMessageDigest,IdGlobal, IdHash;
//声明
function str_to_md5(Str: String): String;//如果这里 没有声明,就会出现这样的问题
function GetMD5String(Str: String):String;
implementation
//==================================begin=======================================
//MD5的方法,需要用到:IdHashMessageDigest,IdGlobal,IdHash,本身已经有UTF8编码
function str_to_md5(Str: String): String;
var
Md5Encode: TIdHashMessageDigest5;
begin
Md5Encode := TIdHashMessageDigest5.Create;
try
Result := Md5Encode.HashStringAsHex(Str,TEncoding.UTF8);
finally
Md5Encode.Free;
end;
end;
//==================================end=========================================
function GetMD5String(Str: String):String;
var
MD5: TIdHashMessageDigest5;
begin
MD5 := TIdHashMessageDigest5.Create;
try
Result := (MD5.HashStringAsHex(Str, TEncoding.UTF8));
finally
FreeAndNil(MD5);
end;
end;
end.
以这个字符串转MD5的问题为例,看我加红色的部分
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/archive/2011/11/22/2259136.html