请问如何正确地在ActiveX控件中添加一个自定义的窗体并调用其功能(VC6.0)
各位大虾,小弟制作一个控件的时候,在这个控件的工程中添加了一个使用socket的类CSocServe,由于该类要收发消息,所以又在CSocServe中添加了一个对话框成员变量。该对话框我是用以下方法添加的:
1、在classview里面,“new ATL object”
2、选择miscellaneous中的对话框,并赋其名称为DlgSocMes,于是生成了一个CDlgSocMes对话框类
3、在CSocServe中添加一个CDlgSocMes成员变量的指针:
CDlgSocMes *m_pdlgMes;
然后在CSocServe的构造函数中创建这个CDlgSocMes对象
m_pdlgMes = new CDlgSocMes;
m_pdlgMes->Create( NULL );
m_pdlgMes->ShowWindow( SW_HIDE );
最后在析构函数中删除它
delete m_pdlgMes;
运行的时候发现,在删除这个对话框对象的时候,程序进入了CDlgSocMes的析构函数,然后在析构函数执行完返回的时候(CDlgSocMes析构函数为空,无任何需要释放的资源),就出现了异常。在输出栏中显示:
ATL: ERROR - Object deleted before window was destroyed
请问是否我在ATL工程中使用对话框的方法不对,程序编译是能够通过的。