1、我用VC6.0做了一个MFC DLL
输出函数定义如下:
extern "C" _declspec(dllexport) void GetCheckData(double * mWeight, double * mHight);
2、我用以下VC代码在调用该函数,没有任何问题:
void CAppDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
double  mfWeight=0.0,mfHight=0.0;
CString stra; HINSTANCE hin;
typedef (*myfun)(double*,double*);
myfun proc; hin=::LoadLibrary("RecData.dll");
if (hin != NULL)
{
proc=(myfun)::GetProcAddress(hin,"GetCheckData");
proc(&mfWeight,&mfHight);
} FreeLibrary(hin);
}
3、我用以下DELPHI代码调用,报MFC42.DLL中内存访问错误
type
    TgetData = function (l,w:pointer): HResult; stdcall;
procedure TForm1.Button1Click(Sender: TObject);
var
  lWeight,lHigh:Double;
  lb:tHandle;
  getCheckData:tGetData;
begin
    lb := loadlibrary('E:\com\RecData\release\recData.dll');
    if lb <> 0 then
    begin
        getCheckData := GetProcAddress(lb,'GetCheckData');
        if assigned(getCheckData) then
        getCheckData(@lWeight,@lHigh);
    end;
end;
将TgetData = function (l,w:pointer): HResult; stdcall;
改为TgetData = function (var l,w:double): HResult; stdcall;仍然不行高手们帮忙啊