我根据在网上找的MD5加密算法改的DLL但是,VB不能调用。DELPHI调用能显示正常结果,但会报错。请高手解决。
======================================================
library encrypt;
uses
  SysUtils,
  Classes,
  MD5PAS in 'MD5PAS.pas';{$R *.res}
function MD5ENC(ENCSTR : STRING):STRING;STDCALL;
BEGIN
 result := md5print(md5string(encstr));
END;
exports
 MD5ENC;
begin
end.
===================================================
unit MD5PAS;// -----------------------------------------------------------------------------------------------
INTERFACE
// ----------------------------------------------------------------------------------------------- USES
 WINDOWS;type
MD5Count = array[0..1] of DWORD;
MD5State = array[0..3] of DWORD;
MD5Block = array[0..15] of DWORD;
MD5CBits = array[0..7] of byte;
MD5Digest = array[0..15] of byte;
MD5Buffer = array[0..63] of byte;
MD5Context = record
State: MD5State;
Count: MD5Count;
Buffer: MD5Buffer;
end;procedure MD5Init(var Context: MD5Context);
procedure MD5Update(var Context: MD5Context; Input: pChar; Length: longword);
procedure MD5Final(var Context: MD5Context; var Digest: MD5Digest);function MD5String(M: string): MD5Digest;
function MD5File(N: string): MD5Digest;
function MD5Print(D: MD5Digest): string;function MD5Match(D1, D2: MD5Digest): boolean;// -----------------------------------------------------------------------------------------------
IMPLEMENTATION
太长,省略。
源文件可到 http://www.sunhome.net/index.php?unit=article&action=disp&typeid=4&id=3701
=================================================================
我在程序中的调用方法。
implementation{$R *.dfm}
 function md5enc(encstring : string):string;stdcall;external 'encrypt.dll'
==================================================================
函数可返回正常值,但是每次调用会会报 大意为 Invalid Point operation。
======================================================================
请高手帮我看看。