打印

VC++ CSerialPort问题

[复制链接]
2051|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liulinfeng206|  楼主 | 2011-4-3 08:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liulinfeng206 于 2011-4-3 10:18 编辑

我的程序是主对话框ADlg里面放一个TAB标签,在TAB标签上挂两个子对话框BDlg和CDlg。
我在主对话框ADlg和子对话框BDlg,CDlg里都要用到串口
我的做法如下:
1.我在主ADlg里面打开串口
2.当我的子对话框BDlg需要发送信息的时候得到主对话框ADlg的指针,调用ADlg里的
串口
2.当我的子对话框CDlg需要发送信息的时候得到主对话框ADlg的指针,调用ADlg里的
串口

现在问题是:
主对话框ADlg自身通过CSerialPort类(主对话框内定义了CSerialPort m_CSerialPort)去发送和接受数据都没问题,但是子对话框BDlg通过得到主对话框ADlg的指针Maindlg->m_CserialPort.WriteToPort就出错了
出错原因是这句assert(m_hcom!=0),出错时m_hcom=0;

请各位大侠帮忙啊!


我刚才又调试了解了下,感觉就是主ADlg自身调用这个串口的时候没问题,比如初始化的时候设置了COM1,但是到BDlg去调用ADlg的串口的时候,发现实际上它说没有打开串口,然后我如果在BDlg调用ADlg的时候再重新去打开COM1的时候它说这个串口号已被占用

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

1

粉丝