我在CB下写了一个DLL,其中有一个函数,形式如下:
extern ULONG FAR PASCAL OpenDevice(ULONG Number, HANDLE *DeviceHandle, CARD_INFO *DeviceInfo)
其中:DeviceHandle和DeviceInfo是用来返回设备句柄和参数的。现在要在Delphi中调用这个函数,请问在Delphi中要怎样使用?
extern ULONG FAR PASCAL OpenDevice(ULONG Number, HANDLE *DeviceHandle, CARD_INFO *DeviceInfo)
其中:DeviceHandle和DeviceInfo是用来返回设备句柄和参数的。现在要在Delphi中调用这个函数,请问在Delphi中要怎样使用?
extern "C" ULONG FAR __stdcall OpenDevice(ULONG Number, HANDLE *DeviceHandle, CARD_INFO *DeviceInfo);在Delphi 里静态链入该函数:
function OpenDevice(ULONG Number, HANDLE *DeviceHandle, CARD_INFO *DeviceInfo)
:Cardinal; stdcall; extern "Dll File Name";应该注意的问题是CB/VC编译的dll文件里的函数名有其一套确定规则而不是单纯的"OpenDevice”。具体可以参考帮助。
extern "C" ULONG FAR __stdcall OpenDevice(ULONG Number, HANDLE *DeviceHandle, CARD_INFO *DeviceInfo);在Delphi 里静态链入该函数:
function OpenDevice(Number: Cardinal;
DeviceHandle: ^HANDLE;
DeviceInfo: ^CARD_INFO)
:Cardinal; stdcall; external 'Dll File Name';应该注意的问题是CB/VC编译的dll文件里的函数名有其一套确定规则而不是单纯的"OpenDevice”。具体可以参考帮助。