在Delphi中调用C编写的DLL
我在C中写了一个DLL
__declspec(dllexport) int GetMD5(unsigned char *pBuf, int BufLen, char *OutMD5Str, int OutBufSize)
{
........
if(OutBufSize<32) return 0;
memset(OutMD5Str, 0, OutBufSize);
........
for(i=0;i<32;i++)
OutMD5Str[i] = MD5[i];
OutMD5Str[32] = '\0';
return 1;
}
编译后可以看到该DLL中有一个接口是"GetMD5"
然后我在Delphi中调用
type
TMD5Func = function(Buffer:PChar; BufLen:Integer; var MD5String:PChar; Size:Integer):Integer;cdecl;
......
var OutMD5:PChar;
MD5 := TMD5Func(ProcAddr);
MD5(PChar(Edit1.Text), Edit1.GetTextLen, OutMD5, 32);
为什么一调用就会出错????????