力控实时数据库资料读取问题
目前需求是想通过delphi从力控实时数据库中抓取资料
抓取资料的函数在dll中定义如下:
long GetData(long nCount, VARIANT* pVarTagPars, VARIANT* pVarDatas);
说明:根据第二个参数列出的变量表从DB中获取相应的适时值。
参数:nCount,要获取值点的个数;pVarTagPars,输入的点参数数组,其元素格式为”点名.参数名”;pVarDatas, 输出的数值数组。
返回值:返回获取值的个数,如果为-1表示调用不成功。
目前在delphi中是这么引用的
function GetData(nCount : integer; inarg : PVariant ;outarg :pVariant ): integer;Stdcall; External 'DBIAPI.dll';
ina := varArrayCreate([1,1],varVariant);
outa := varArrayCreate([1,1],varVariant);
ina[1] := 'D1304.PV';
outa[1] := 0;
inarg := @ina;
outarg := @outa;
i := GetData(1,inarg,outarg);
showmessage(inttostr(i));
但是结果总是返回-1不知道怎么回事
VARIANT* pVarTagPars delphi里到底如何定义还请指点,不胜感谢!!!!