自己调用dllregisterserver接口与regsvr32进行注册有什么不一样?

MapleInHG 2005-05-10 07:45:34
用atl写的组件,自己调用其dllregisterserver接口进行注册,发现只注册了IUnknown和IDispatch两个接口,而自定义的一个接口没有被注册。用regsvr32就可以成功注册。这是为什么?
...全文
206 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
MapleInHG 2005-05-11
  • 打赏
  • 举报
回复
似乎还是不行,算了不用中文目录了。

也结贴了,有哪位知道原因还请继续回此贴。
Hendy_So 2005-05-11
  • 打赏
  • 举报
回复
atl的com不能中文注册 原因是atl的源码中有一个bug,导致不能处理中文目录,只对单字节字符有效。
修改atl/include/statreg.h 217行
lpszT++;
改为:
lpszT = CharNext(lpszT);
原有的com需要重新编译才可以。
neverfade 2005-05-11
  • 打赏
  • 举报
回复
gz
xiaolivc 2005-05-11
  • 打赏
  • 举报
回复
很好的文章呀
可以来这个群里一起讨论吗 8051231


关于 vc 学习与交流的群
MapleInHG 2005-05-11
  • 打赏
  • 举报
回复
顶,希望有人能给出答案。
MapleInHG 2005-05-10
  • 打赏
  • 举报
回复
才发现居然不能用中文目录!
是这个原因吗?
sungengyu 2005-05-10
  • 打赏
  • 举报
回复
应该是一样的。我自己曾用 LoadLibrary --> GetProcAddress --> dllregisterserver 的方法注册过组件,没遇到什么问题。
MapleInHG 2005-05-10
  • 打赏
  • 举报
回复
好像去掉_ATL_STATIC_REGISTRY就可以在release中注册了,但还是只能用regsvr32注册。
哪位知道原因啊?
MapleInHG 2005-05-10
  • 打赏
  • 举报
回复
还有一个问题,发现debug时注册的就OK,release mindependency的就不行,是不是一些什么参数设置不对?就像要去掉_ATL_MIN_CRT才能release编译通过?

3,245

社区成员

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

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