首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一个C语言里面的函数,在DELPHI里如何声明啊

2013-03-14 
一个C语言里面的函数,在DELPHI里怎么声明啊?函数里面的省略号,State参数后面,在DELPHI怎么声明啊?第一次碰

一个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然后用函数序号取函数地址

试试

估计是函数名称不对

热点排行