调用VC写的DLL遇到的两个问题
pyp 2006-10-27 10:58:44 1.dll中的一个函数,BOOL __stdcall Fp_SetCallback(IN Fp_Callback_ pfnCallback);
回调函数定义为typedef void (__stdcall *Fp_Callback_)(BYTE * const pBuffer,long lBufferSize);
其中pBuffer可以当成一个数组的指针,在delphi中我相应的定义为:
procedure pCallback(pBuffer:pbyte; lBufferSize:Integer); 这样是否可以呢?
还有就是pBuffer怎么赋值数组内的内容呢??
2.另外一个函数:BOOL __stdcall Fp_SetDrawImageCallback(IN Fp_DrawImage_ pfnCallback);
回调函数定义:typedef void (__stdcall *Fp_DrawImage_)(HDC hdc, RECT rcRect);
我在Delphi中相应定义回调函数:procedure pfnCallback(hdc:HDC; rcRect:TRECT);
但是在Delphi中运行函数Fp_SetDrawImageCallback(pfnCallback);却产生了错误,此函数在C++Builder中调用没有问题。
错误为出现CPU错误窗口,Information信息为"Project 路径/××.exe faulted with message:'access violation at 0X00970423:write of address 0X00000000'.Process Stopped.User Step or Run To Continue."
请问谁遇到过这样的事情,应该怎么办呢?