MFC OCX的注册问题

Mr_Ldh 2005-07-19 11:26:14
我将一个MFC单文档的exe程序编译成了一个OCX,但没有注册成功。用regsvr32注册时提示“DllRegisterServer in XXX.OCX failed. Return code was: 0x80040200”
请各位高人指点。
...全文
264 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Ldh 2005-07-22
  • 打赏
  • 举报
回复
找到问题所在了:
控件rc文件的最后有一句:

1 TYPELIB "MyOcx.tlb"

我将它写成了如下形式:

#ifdef MYOCX_CONTROL
1 TYPELIB "MyOcx.tlb"
#endif

但在编译时VC的处理很奇怪,就像没有定义MYOCX_CONTROL一样。没办法只有去掉
#ifdef MYOCX_CONTROL
#endif
只留下:
1 TYPELIB "MyOcx.tlb"
再编译后就能注册成功了。

哪位高手解释一下这是为什么?
Mr_Ldh 2005-07-21
  • 打赏
  • 举报
回复
UP
AntonlioX 2005-07-19
  • 打赏
  • 举报
回复
没搞过 帮你顶
Mr_Ldh 2005-07-19
  • 打赏
  • 举报
回复
有没有人做过将单文档的MFC应用程序编译成ActiveX控件呀?
wshcdr 2005-07-19
  • 打赏
  • 举报
回复
帮顶
Mr_Ldh 2005-07-19
  • 打赏
  • 举报
回复
我是采用微软网站上的文档介绍的方法做的:http://www.microsoft.com/mind/0497/mfc.asp
DEBUG发现注册程序执行到DllRegisterServer()的
if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
return ResultFromScode(SELFREG_E_TYPELIB);
就返回了。

是什么原因呢?
yyhzpk 2005-07-19
  • 打赏
  • 举报
回复
看看你的注册函数对不对,注册信息是否正确
AntonlioX 2005-07-19
  • 打赏
  • 举报
回复
up
sinall 2005-07-19
  • 打赏
  • 举报
回复
1、
“MFC单文档的exe程序编译成了一个OCX”是什么意思?
两个应用的结构完全不同。
你可以将你的MFC单文档的exe程序改编成了一个MFC ActiveX。
但是MFC ActiveX注册和它是否由单文档程序改编没有什么关系。
2、
ActiveX可以容纳一个Doc/View
http://www.codeguru.com/Cpp/COM-Tech/atl/article.php/c27/
FatSpiders 2005-07-19
  • 打赏
  • 举报
回复
你有没有定义好类接口
或者发布接口之类呀,
如果没有的话系统找不到入口点就是不可以注册的。
注意一下接口定义方面。只能这样子说了你试一下呀,
实际你的代码怎么样不知。。
你只好注意一下这方面的东西

3,245

社区成员

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

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