一个C语言里面的函数,在DELPHI里怎么声明啊?
函数里面的省略号,State参数后面,在DELPHI怎么声明啊?第一次碰到,
我自己声明的DELPHI版本,提示函数不能定位到动态链接库,实际肯定,有,打开DLL看过了
[解决办法]
不要用const string,按我的声明来,用PChar。那两个Integer要是传地址,要加var
[解决办法]
省略号不是说不定项参数么?像_wsprintf()...
[解决办法]
function DAQmxGetDigitalPowerUpStates(const deviceName, channelName:PAnsiChar;
var state : Integer): Integer; cdecl; varargs; external 'nicaiu.dll' name '_DAQmxGetDigitalPowerUpStates'
function DAQmxGetDigitalPowerUpStates(const deviceName, channelName:PAnsiChar;
state : PInteger): Integer; cdecl; varargs; external 'nicaiu.dll' name '_DAQmxGetDigitalPowerUpStates'
这两种都可以.注意varargs关键字.如果不懂可以去查一下Delphi的手册.
但是C/C++的输出函数会被重命名,C/C++使用的是时候自己是知道命名规则的.其他语言就未必遵循这个规则.
你要看一下DLL真实的函数名是什么.
找一个Dependency看一下导出函数名.name '_DAQmxGetDigitalPowerUpStates'是我随便写的.具体名字你要看一下
[解决办法]
动态加载dll然后用函数序号取函数地址
试试
估计是函数名称不对