我的代码(部分):
  PXZ=^TXZJS ;   //保存选址GetGisToOaSiteData计算返回的相关数据
   TXZJS=record
      xzmj:double;        //选址面积
      symj:double;        //建筑用地面积
      rjr :String ;         //容积率
      jzmd :String ;        //建筑密度
      jzgd :double ;        //建筑限高
      tcmg:double;        //机动停车
      tcmgbl:double;      //机动停车位比例
      ftcmg :double ;       //非机动停车
      ftcmgbl:double ;     //非机动停车位比例
      rdr :double ;         //绿地面积率
   end;
 PYD=^TYDJS;
  TYDJS=Record
   zydmj:double;       //总用地面积   ?
   symj: double;        //建筑用地面积
   ydfl: double;        //用地性质
   jzmg:  double  ;        //建筑面积
   rjr:String;         //容积率
   jzmd :String;        //建筑密度
   jzgd:  double ;        //建筑限高
   tcmg:  double ;        //机动停车
   tcmgbl:  double ;      //机动停车位比例
   ftcmg:  double ;       //非机动停车
   ftcmgbl:  double ;     //非机动停车位比例
   rdr : double ;         //绿地面积率   m_plantDensity
  end;
……
  XZ_: PXZ;//选址的相关面积计算  GetGisToOaSiteData
   YD_:PYD;//用地的相关面积计算   GetGisToOaLanduse 
……
   GetMem(XZ_,Sizeof(XZ_));
   GetMem(YD_,Sizeof(YD_));
**********************************************
   XZ_:=PXZ(Pointer(MB.GetGisToOaSiteData())); //
  YD_:=PYD(Pointer(MB.GetGisToOaLanduse()));//---------1
**********************************************
**********************************************或者
   XZ_:=PXZ(MB.GetGisToOaSiteData()); //
  YD_:=PYD(MB.GetGisToOaLanduse());//---------1
**********************************************
   
   FrmPlanLocation.DBEdtColLandArea3.Text:=Floattostr(XZ_^.xzmj);
   FrmPlanPermit.DBEdtColLandArea2.Text:=Floattostr(YD_^.zydmj);
MB.GetGisToOaLanduse());//
MB.GetGisToOaSiteData()); 
这两个函数返回一个整数(vc定义的*.OCX函数)指针--我得调用,返回一个结构体一运行到‘------1’处就蹦出地址错误,为什么呀?求教了都~~~~~~