DLL中使用ocx的问题

写不动代码的人 2009-06-16 09:51:11
在DLL中创建非模态对话框,在对话框中使用了他人提供的ocx控件,但是在create对话框后程序不能运行进入OnInitDialog,导致使用该对话框时报错(错误为调用对话框指针时报错为该指针指向不是一个窗口);去掉ocx控件后即调用正常,AfxOleInit 和 AFX_MANGE_STATE(....)都使用了,不知道是为什么,请高人指教
...全文
146 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
stinkingstone 2011-11-28
  • 打赏
  • 举报
回复
兄弟,救急,我遇到一个与你这里提出的同样的问题,你是怎么解决的???请指点指点,我QQ106849065,等待中...
  • 打赏
  • 举报
回复
问题已解决 多谢楼上各位
bragi523 2009-06-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 heksn 的回复:]
引用 2 楼 bragi523 的回复:
想com一样应该初始化吧
再对话框create之前应该
CoInitialize(NULL);
AfxEnableControlContainer
AfxOleInit()



已经做了Ole的初始化了
[/Quote]
你是不是在构造函数里面初始化的
那样不行的
写个借口出来
专门初始化一下就好了
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lirongjun1985 的回复:]
OCX 有没有注册,在OCX工程里设断点 估计是那里初始化的时候出的错
[/Quote]

ocx注册了 没注册的话怎么能用呢
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bragi523 的回复:]
想com一样应该初始化吧
再对话框create之前应该
CoInitialize(NULL);
AfxEnableControlContainer
AfxOleInit()
[/Quote]

已经做了Ole的初始化了
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 skyxie 的回复:]
对话框的create函数中有没有添加ocx的create,并把dlg作为ocx的父窗口?
[/Quote]

有ocx的创建
lirongjun1985 2009-06-16
  • 打赏
  • 举报
回复
OCX 有没有注册,在OCX工程里设断点 估计是那里初始化的时候出的错
bragi523 2009-06-16
  • 打赏
  • 举报
回复 1
想com一样应该初始化吧
再对话框create之前应该
CoInitialize(NULL);
AfxEnableControlContainer
AfxOleInit()
skyxie 2009-06-16
  • 打赏
  • 举报
回复
对话框的create函数中有没有添加ocx的create,并把dlg作为ocx的父窗口?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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