delphi调用VC带指针参数函数的dll,运行报错,求助大家!(在线等待)

                            
我要在delphi中调用VC一个名为test的dll,该dll由一个带指针参数的函数组成,我先不执行什么操作,只是弹出一个对话框,可是当我在delphi中调用时,先谈出对话框,表示我调用成功了,然后delphi竟然报错,信息为“无效的指针操作”,大家帮忙看一下吧。   
   
   
  test.h文件为  
  #define   SBook   int  
  extern   "C"   _declspec(dllexport)   bool   GetResult(SBook   *pBook,int   x);  
   
  test.cpp文件为  
  #include   "stdafx.h"  
  #include   "test.h"  
   
  extern   "C"   _declspec(dllexport)   bool   GetResult(SBook   *pBook,int   x)  
  {  
  MessageBox(NULL,"GetResult函数被调用","提示",MB_OK);  
  return   TRUE;  
  }  
   
   
  delphi中是这样调用的:  
   
  type  
   
  TGetResult=function(pt:Pointer;x:Integer):boolean;   stdcall;  
   
   
  var  
      Handle:THandle;  
      GetResult:TGetResult;  
      pt:Pointer;  
      flag:integer;  
  begin  
              pt:=@flag;  
              Handle:=LoadLibrary('test.dll');   //将"test.dll"的文件映象映射进调用进程的地址空间  
              if   Handle<>0   then  
              begin  
                    @GetResult:=GetProcAddress(Handle,'GetResult');   //取得DLL中函数GetResult(   )的地址  
                        if   @GetResult<>nil   then  
                        begin  
                        GetResult(pt,5);  
                        freemem(pt);  
                        end  
                        else  
                        ShowMessage('调用函数"GetProcAddress"时出错!');  
                        FreeLibrary(Handle);  
                end;  
   
  end;  
 

查看回复