ATL高手,请进。有一个非常郁闷的问题

alphagx 2002-06-12 11:46:55
我的组件是EXE格式的,
我用 MyComExe /Regsever注册后,
RGS文件中的,有一些注册信息没有注册到注册表中去。

但这种情况并不是经常发生, 你们有没有遇到过??
然后我打开DcomCnfg后,出现接口没有记录......

出现这种情况下,我的客户端创建组件就总是失败了。

...全文
31 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
loyee 2002-06-14
  • 打赏
  • 举报
回复
;-)
alphagx 2002-06-12
  • 打赏
  • 举报
回复
???
alphagx 2002-06-12
  • 打赏
  • 举报
回复
生成代理/存根的方法是
Project Setting--->Post Builder中设置
nmake/f myComExeps.mk
regsvr32 /s myComExePs.Dll


我是生成MyComExe.EXE,myComExePs.Dll后,
然后通过MyComEXE/RegServer 注册组件,
Regsvr32 /s MyComEXEPs.Dll 注册代理/存根。

但RGS文件中,相关注册表的键没有注册到注册表中去。
(在有的计算机上这个键能注册进去,有的时候就没有注册进去)

导致我的客户端在CoCreateInstance的时候出错,
返回错误码是0X80004002
就是接口没有注册的意思


opentuxedo 2002-06-12
  • 打赏
  • 举报
回复
这个DLL可以用MIDL编译文件,得到your.h,your_i.c,your_p.c,dlldata.c后用cl.exe编译,得到your_i.obj,your_p.obj,dlldata.obj后再用link对其链接,链接时加入kernel32.lib,rpcndrr.lib就可以了,按上面步骤写一个mak
flyelfsky 2002-06-12
  • 打赏
  • 举报
回复
对于exe的还需要一个Proxy/Stub DLL,可是我不知道该怎么生成这个DLL,
继续关注这个问题

3,245

社区成员

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

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