ATL com组件的OnCreate不会被调用

my_aa 2012-07-27 11:35:18
ATL写的符合组件中用IE调用组件可以执行OnCreate,但是直接用MFC代码插入COM时,不会调用com组件OnCreate,这是什么原因啊,构造函数里是m_bWindowOnly = TRUE;
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljh_0728 2012-08-01
  • 打赏
  • 举报
回复

打个断点。 不停的删除删除, 做成最精简的 看看还执行不!~
或者, 重新做一个, 然后把你的代码 一个一个的加上去, 看看是哪里出的问题。
这是我的代码 OnCreate 是没有出问题,可以执行的。
int CMySocketVideoVCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;

//
m_BtnDisConn.Create(_T("DisConn"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(0, 50, 0, 50),this,IDC_DISS_CONN);
m_BtnDisConn.EnableWindow(TRUE);

m_BtnConnSV.Create(_T("Connect"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(0, 50, 0, 50),this,IDC_CONN_SERVER);
m_BtnConnSV.EnableWindow(TRUE);

//mVideoWindow.Create(_T(""), WS_CHILD|WS_VISIBLE|SS_BLACKRECT|SS_SUNKEN, CRect(10,10,150,50), this, IDC_VIDEO_WINDOW);
mVideoWindow.Create(_T("STATIC"), _T("Hi"), WS_CHILD|WS_VISIBLE|SS_BLACKRECT|SS_SUNKEN, CRect(10,10,150,50), this, IDC_VIDEO_WINDOW);
mVideoWindow.EnableWindow(TRUE);

m_CurrState = 1;
xiaoliuzi66 2012-07-31
  • 打赏
  • 举报
回复
呵呵,重新用MFC做一个dialog,把你的控件直接拖进去.
my_aa 2012-07-31
  • 打赏
  • 举报
回复
发现this->m_hWnd为NULL(我那构造函数中有m_bWindowOnly = TRUE)[Quote=引用 3 楼 的回复:]
1.看下FinalConstruct执行了没有;2.如果ie可以执行OnCreate。那就在ie的环境下载OnCreate打一个断点,看下堆栈。研究下OnCreate怎么执行的。3.回到MFC的环境,看下IE执行顺序哪一步没有被执行。总归一句话,执行执行再执行。一定是自己制作这个控件的时候有问题。
[/Quote]
xiaoliuzi66 2012-07-30
  • 打赏
  • 举报
回复
1.看下FinalConstruct执行了没有;2.如果ie可以执行OnCreate。那就在ie的环境下载OnCreate打一个断点,看下堆栈。研究下OnCreate怎么执行的。3.回到MFC的环境,看下IE执行顺序哪一步没有被执行。总归一句话,执行执行再执行。一定是自己制作这个控件的时候有问题。
fishion 2012-07-28
  • 打赏
  • 举报
回复
不知道你说的用代码插入是什么意思。ActiveX组件是能执行的,如果你的还不行的话,可以在OnDraw中进行一些初始化工作,记得用个标志位来标志只执行一次
my_aa 2012-07-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
不知道你说的用代码插入是什么意思。ActiveX组件是能执行的,如果你的还不行的话,可以在OnDraw中进行一些初始化工作,记得用个标志位来标志只执行一次
[/Quote]
就是写1个MFC调用那控件的Demo,发现那控件的OnCreate没被执行。用IE写HtML去调用那控件测试,OnCreate会被执行。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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