我知道xxx.dll里面c定义的数据类型和函数声明,请问怎样使用delphi来调用这个dll下面是C定义的struct 
typedef struct{
TCHAR    szAdapterName[33];
TCHAR    szAdapterMACAddress[33];
TChAR   szDriverVersion[33];
TCHAR    szFirmwareVersion[33];
AdapterType   CardType;
SebAdapterhandle  AdapterHandle;(SebAdapterhandle类型应该64位的整型,不知道对不对 )
}SEBRING_WLAN_ADAPTERINFO,*LPSEBRING_WLAN_ADAPTERINFO
///////////////////
typedef enum _AdatperType
{
e_Sparks = 1,
e_Calexico = 2,
e_Trilogy25 = 3,
eCalexico2 = 4}AdapterType
/////////////////////////////
以下是 c定义的 API函数,函数的参数都是输出参数(不知道c里面的指针在delphi里面怎么用)
SebGetAdapterList
(
SEBRING_WLAN_ADAPTERINFO **ppAdapterList,
LONG                     *lpNumberOfAdapter
)请问在delphi里面这样来调用阿
静态调用

解决方案 »

  1.   

    AdapterType = (e_Sparks=1,e_Calexico,e_Trilogy25,eCalexico2);
      SEBRING_WLAN_ADAPTERINFO=record
        szAdapterName: array[0..32] of char;
        szAdapterMACAddress: array[0..32] of char;
        szDriverVersion: array[0..32] of char;
        szFirmwareVersion: array[0..32] of char;
        CardType: AdapterType;
        AdapterHandle: SebAdapterhandle;
      end;.....  PSEBRING_WLAN_ADAPTERINFO = ^SEBRING_WLAN_ADAPTERINFO;
      procedure SebGetAdapterList(var ppAdapterList:PSEBRING_WLAN_ADAPTERINFO;
                                  var lpNumberOfAdapter: Long);stdcall;external 'xxx.dll';因为不知道你函数的返回类型,所以当void来处理了