凌华PCI9112在delphi下编程的问题》 点击:1178 | 回复:0



nuaa

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 3回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2001年5月30日
发表于:2002-07-04 12:15:00
楼主
我最近正在用PCI9112编程序。   我用的开发环境为:delphi6。   在调用   AI_ContScanChannels (0, channel, 2, Buffer1, count,rate, SYNCH_OP);   时出错:floating point overflow      该函数在dask.pac中是这样声明的:   function AI_ContScanChannels (CardNumber:Word; Channel:Word; AdRange:Word;    var Buffer: word; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word) : Smallint;stdcall;      我试了   AI_ReadChannel (0, Channel, 2, Value);   结果是对的。   应该是AI_ContScanChannels ()中的buffer定义有问题!!!      但是我对比了C++和VB中的该函数声明:   Buffer 在C++中为:U16 *Buffer   在VB中为:Buffer As Integer      buffer 应该为一个指向内存的指针或数组(VB).   可是delphi的数组应该定义为: array of word   我把dask.pac中function AI_ContScanChannels   改为function AI_ContScanChannels (CardNumber:Word; Channel:Word; AdRange:Word;    var Buffer:array of word; ReadCount:Cardinal; ampleRate:Double; SyncMode:Word): Smallint;stdcall;      可是一运行还是出同样的错误。      郁闷死了。      帮帮我把。


热门招聘
相关主题

官方公众号

智造工程师