用VC写了一个DLL,里面有一个函数(如下)。请问在VB里应该怎么声明这个函数的参数float *MyPmt?谢谢BOOL __stdcall GetRs53Data(float *fMyPmt)
{
*fMyPmt=2.1f;
return true;
}我试过把参数定义成 ByVal fMyPmt As Double、Byref fMyPmt As Double,都不行。

解决方案 »

  1.   

    VC: float  ----> 4字节
    VB: Double ----> 8字节
      

  2.   

    这样定义ByVal fMyPmt As Single 或者 Byref fMyPmt As Single 也不行啊
      

  3.   

    如果把fMyPmt定义成 Byref fMyPmt As long也不行。请问有什么方法可以定义float *的吗?如果参数的类型是int * 则可以这样定义 Byref fMyPmt As long。
      

  4.   

    Declare:
    ==============================
    Byval fMyPmt As long
    ==============================
    Dim nFloat as Single
    ==============================
    Call:
    ==============================
    GetRs53Data VarPtr(nFloat)