有这样一个动态库WtSys_Dll.dll,里面有函数
long  WtSys_GetAxisData (long VehicleID ,long  AxisID,*long AxisType,*long Weight)说明:取指定序号的车辆轴组数据;
参数:  long VehicleID   缓存的车辆序号(1、2、…);
        long  AxisID 轴号(1、2、…);
        *long  AxisType          轴型(1-7);
        *long Weight 轴重;返回值:1         取数据成功;
        0         取数据失败。
请问我在调用这个函数的时候返回值有1或0,但这两个参数*long  AxisType ,*long Weight怎么用?
怎么获得轴型*long  AxisType和轴重*long Weight 的数据信息?谢谢指导啊!我是在Delphi7中用的,哪位大侠会的话最好举个例子说明一下,谢谢了.

解决方案 »

  1.   

    function WtSys_GetAxisData (VehicleID:integer ;AxisID:integer,AxisType:pinteger,Weight:pinteger):integer;
      

  2.   

    function WtSys_GetAxisData (VehicleID:integer ;AxisID:integer,AxisType:pinteger,Weight:pinteger):integer;external 'WtSys_Dll.dll';(stdcall; 还是 cdecl;)
      

  3.   

    哪我怎么把要得到的数据Axistype和Weight赋值给别的变量?先谢谢上楼
      

  4.   

    反正别的函数我都用stdcall都行,不过别的都是返回一个数,没有指针,所以好弄.
      

  5.   

    如果我要把Axistype^和Weight^的值分别赋给变量a和b,请问咋处理? 
      

  6.   

    var
      x,y,z: integer;
      pa,pb: pinteger;
    begin
      new(pa);
      new(pb);
      x:=10;
      y:=20;
      z:=WtSys_GetAxisData(x,y,pa,pb); 
      showmessage(inttostr(pa^));
      showmessage(inttostr(pb^));
      dispose(pa);
      dispose(pb);
    end;
      

  7.   

    function WtSys_GetAxisData (VehicleID ,AxisID: LongInt;var AxisType,Weight: LongInt):LongInt;cdecl;
      

  8.   

    Stdcall和cdecl是两种不同的调用规范
    通常api是stdcall。c中默认是cdecl
      

  9.   

    是cdecl就不能用stdcall,否则会有问题的.关键看C++的头文件当中是如何声明的.没有指明的话,默认应该是cdecl
      

  10.   

    我想问下
    long WtSys_GetAxisData (long VehicleID ,long  AxisID,*long AxisType,*long Weight)

    long  WtSys_GetAxisData (long VehicleID ,long  AxisID,long *AxisType,long *Weight)
    是一样的?