有这样一个API(用C写的)
COMMNET_API VARIANT_BOOL WINAPI ReadCardNo(DWORD hPort,LPTSTR pCardNo)在VB里面这样用:Public Declare Function ReadCardNo Lib "myDll.dll" (ByVal hPort As Long, ByVal strCardNo As String) As Boolean得到值以后存入strCardNo中,VB中已经通过。
请问在delphi下怎样用,我直接
function ReadCardNo(aHandle:integer;aCardNo:String):integer; stdcall; external myDll.dll' name 'ReadCardNo';提示内存错误,
请各位帮忙,在线等待

解决方案 »

  1.   

    COMMNET_API VARIANT_BOOL WINAPI ReadCardNo(DWORD hPort,LPTSTR pCardNo)function ReadCardNo(hPort : integer;pCardNo : Pchar):boolean;stdcall; external myDll.dll' name 'ReadCardNo';
      

  2.   

    试试
    function ReadCardNo(aHandle:integer;aCardNo:pchar):integer; stdcall; external myDll.dll' name 'ReadCardNo';不要用String,它是delphi特有的
      

  3.   

    如果出问题,你可以把stdcall换成cdecl;试试
      

  4.   

    试试
    function ReadCardNo(aHandle:integer;VAR aCardNo:pchar):integer; stdcall; external myDll.dll' name 'ReadCardNo';