力控实时数据库资料读取问题

windylzp 2011-12-06 09:04:21
目前需求是想通过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里到底如何定义还请指点,不胜感谢!!!!
...全文
865 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
亮剑_ 2011-12-06
  • 打赏
  • 举报
回复
pVarTagPars是一个自定义类型,可能指向一个字符串列表(数组)的指针,API的文档中应该有进一步说明
jzy_QQ_396638838 2011-12-06
  • 打赏
  • 举报
回复
看他说明书,定义一个pVarTagPars类型

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧