动态库里函数的定义:Key_Log_KnownNo(int,unsinged long&,char*),在delphi中调用此函数怎样对应其中的参数,尤其是第三个。

解决方案 »

  1.   

        VC             Delphi
    -----------------------------------
              int  --  integer
    unsigned long  --  LongWord
            char * --  PChar
      

  2.   

    开始我就是这样对应的,只不过 unsinged long& 用LongInt代替的,现在 第三个参数得到的还是乱码。
      

  3.   

    var
     p3 : pchar;
    begin
     p3 := allocmem(255)//buffer size
    try Key_Log_KnownNo(p1:integer,var p2 : longword,p3 : pchar)finally
     freemem(p3,255);
    end;
    end;
    你可能没有合理的分配内存
      

  4.   

    注意调用规则(参数传入顺序),常见的是stdcall; 你看看Windows单元就知道了。