凌华PCI9112在delphi下编程的问题 点击:822 | 回复:1



nuaa

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 3回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2001年5月30日
发表于:2003-11-10 21:51: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; 可是一运行还是出同样的错误。 郁闷死了。 帮帮我把。



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-11-10 21:51:00
1楼
Hi Nuaa,我是一个凌华PCI9112初应用者,想用Delphi,请问一下你在文中所说的函数库dask.pac,在那里可以到?很是谢谢!

热门招聘
相关主题

官方公众号

智造工程师