主题:求教:CB中调用MSComm控件的问题~
杏林一秀
[专家分:0] 发布于 2005-03-24 09:04:00
我在CB中调用了VB中的MSComm控件,结果发现在通信时,接受到的正数正确无误,而负数则会表示成十分大的正数。
请问该如何解决?现在是int型,该改成为什么类型?
谢谢~
回复列表 (共7个回复)
沙发
rainboyfdy [专家分:80] 发布于 2005-03-24 18:15:00
加unsigned int试试吧
板凳
杏林一秀 [专家分:0] 发布于 2005-03-24 22:32:00
谢谢~
在通信串口的程序里加了哦~
可是还是接受不到负数的呢
有没有什么其它的方法?
还是应该在解包程序里改数据类型呀?
3 楼
杏林一秀 [专家分:0] 发布于 2005-03-25 11:55:00
呵呵……
可以将数据类型由Word修改为short哦~
4 楼
lanmanck [专家分:0] 发布于 2005-03-27 09:19:00
楼主你好,请问接收到的数据怎么存入?
olevariant dd;
dd=mscomm1->input;
如果我用二进制传送,这个万能变量怎么变成字节型的变量阿?
我只用过文本方式:
wisestring(dd);
请指教〉:)
5 楼
杏林一秀 [专家分:0] 发布于 2005-04-15 11:01:00
可以在缓冲区里开辟一个数据空间
代码为:
r=MSComm1->Input; //输入作为万能变量
bytenum=r.ArrayHighBound(1); //输入数据的大小
for(i=0;i<bytenum+1;i++)
{
re_rbuf[buffptr++]=r.GetElement(i);
}
6 楼
jack zhang [专家分:0] 发布于 2005-06-16 17:22:00
我也遇到了同类的问题
7 楼
zjqzjxj [专家分:50] 发布于 2005-06-18 20:27:00
我还碰到另外一个问题,就是用了MSCOMM控件后,编译后,程序在没有安装过VB的机子上运行,要出现“没有注册类型”的错误提示,该如何解决?
我来回复