出现这个错误的原因是:

引用的单元里的函数,没有声明

 

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的问题为例,看我加红色的部分

posted on 2011-11-22 17:43  del88  阅读(9)  评论(0编辑  收藏  举报