ibwrt 出错

梦想实现 2014-03-27 04:32:33
XE4 控制GPIB的错误
我看网上用C++Builder =写入字符串ibwrt都是这么用的,不知道为什么会出错。

int devID;
devID=-1000;
devID=ibdev(0,25,0, T3s,1,0);
if (Lakeshore331ID<0)
{
String sStr="Open port "+IntToStr(LakeshoreAddress)+" error!";
Application->MessageBox(L"出错了",L"出错", MB_OK);//UnicodeString(sStr).c_str()
}
Edit2->Text=devID;
ibwrt (devID, "*idn?", 35);// 程序出错的位置
ibwrt (devID,"FUNC 0,VDC,AUTO",15);// 程序出错的位置2

错误提示:
[bcc32 Error] LakeshoreControl.cpp(49): E2034 Cannot convert 'wchar_t const[6]' to 'void *'
[bcc32 Error] LakeshoreControl.cpp(49): E2342 Type mismatch in parameter 'buf' (wanted 'void *', got 'const wchar_t *')
...全文
410 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦想实现 2014-03-28
  • 打赏
  • 举报
回复
C++Builder 6中的 代码很简单,为什么同样的操作XE4通过了,但是C++Builder 6通不过呢 int deviceID; deviceID=ibdev(0,25,0, T3s,1,0); 希望大牛指教,@妖哥.........
梦想实现 2014-03-28
  • 打赏
  • 举报
回复
在XE4中至少 工程添加 decl-32.h 和gpib-32.obj,后至少最开始ibdev()调用通过了。
(注意这里不是bolandc_gpib-32.obj,网址http://www.ni.com/example/29276/en/提供的参考里面,我在安装NI4882_310.exe后找到的支持Boland软件接口的是gpib-32.obj,不知道有人用过没,怎么解释?)

我再用CBC6 尝试着添加 decl-32.h 和gpib-32.obj,.CPP文件中ibdev()的调用就通不过,貌似C++builder 6.0就根本没添加成功这两个文件。

错误提示如下:
[C++ Error] Unit1.cpp(7): E2209 Unable to open include file 'decl-32.h'
[C++ Error] Unit1.cpp(23): E2303 Type name expected
[C++ Error] Unit1.cpp(23): E2268 Call to undefined function 'ibdev'
[C++ Error] Unit1.cpp(23): E2451 Undefined symbol 'T3s'

下面分别是CBC6 的工程目录和XE4的工程目录,两个文件都添加成功了。在.cpp文件中都包含了 #include "decl-32.h".
梦想实现 2014-03-27
  • 打赏
  • 举报
回复
不小心 发了两遍 ,不好意思啊

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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