我用一个ActiveX控件中通信控件来实现对串口操作,我用VC做了一个基于对话框的工程,然后添加了这个通信控件。我的工程名字叫Test,那么在ClassView中可以看到这四个类,CAboutDlg,CTestApp,CTestDlg,CMSComm(是通信控件的类)。因为通信控件是加在对话框上的,那么在CTestDlg里面就有一个CMSComm的对象,对象命名为
m_Comm。
我在CTestDlg的OnInitDialog()函数中初始化控件m_Comm,比如开串口。由于CTestDlg有构造函数,没有析构函数,我就自己写了一个析构函数~CTestDlg()。我本意是想在程序退出的时候要运行这个析构函数,那么我就可以在这个析构函数中处理m_Comm的一些收尾工作,比如关串口。
现在就发现问题了,析构函数~CTestDlg()中的关串口出错。我就设置了端点,发现
到了析构函数里面,m_Comm的值就全零了,也就是说在到析构函数之前,m_Comm就消失了。我很奇怪,就在CTestDlg里面多定义了一个整型变量m_temp,其实m_temp没有实际的用处,但我发现,程序退出时候,m_temp在析构函数~CTestDlg()还有值,也就是说,直到类CTestDlg消失了,m_temp才消失,但为什么m_Comm就不这样呢,m_Comm同样也是类CTestDlg的成员啊。有哪位可以说说,我是新手,呵呵。
m_Comm。
我在CTestDlg的OnInitDialog()函数中初始化控件m_Comm,比如开串口。由于CTestDlg有构造函数,没有析构函数,我就自己写了一个析构函数~CTestDlg()。我本意是想在程序退出的时候要运行这个析构函数,那么我就可以在这个析构函数中处理m_Comm的一些收尾工作,比如关串口。
现在就发现问题了,析构函数~CTestDlg()中的关串口出错。我就设置了端点,发现
到了析构函数里面,m_Comm的值就全零了,也就是说在到析构函数之前,m_Comm就消失了。我很奇怪,就在CTestDlg里面多定义了一个整型变量m_temp,其实m_temp没有实际的用处,但我发现,程序退出时候,m_temp在析构函数~CTestDlg()还有值,也就是说,直到类CTestDlg消失了,m_temp才消失,但为什么m_Comm就不这样呢,m_Comm同样也是类CTestDlg的成员啊。有哪位可以说说,我是新手,呵呵。
解决方案 »
- devcon remove问题
- CTreeCtrl里的TVN_SELCHANGED和TVN_SELCHANGING有什么区别?
- 关于在循环里设置Edit控件文件的问题!
- 请问如何实现打开浏览器浏览\\Server或\\IP?
- 请问REG_SZ型注册表值项的最大长度是多少?
- .ax文件的含义,用法?
- 有关CHtmlView的问题
- 大哥,大姐们,这到题没分给,但我真的想知道答案
- 关于权限问题 请教大加帮个忙!在线等! 谢谢
- 窗口假死
- newkey007(无限天空)回复一下,可以送200分.见http://expert.csdn.net/Expert/topic/2377/2377183.xml?temp=.9757501
- 9958!!!!!
把m_Comm的初始化放到类CTestDlg的构造函数CTestDlg()里面,它也出现同样的错误,请问这是怎么回事啊?