MFC ATL 注册 COM

wei123456 2012-05-03 04:55:39
我用VC++写了个COM组件在编译生成的时候发现自动注册了,在注册表也能查得到,现在部署的时候,手工使用regsvr32注册但总提示"找不到指定的模块",请问这是怎么回事?我应该如何在其他机子上注册这个COM?
...全文
153 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
erick08 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
或者 批处理文件里的路径不对,最好写全路径,因为他是从system32开始找的。
[/Quote]

生成Release版本的控件,注册时写全路径,regsvr32 D:\tool\Kongjian.OCX
当然还有可能是没有依赖项,必要的话依赖项也要先注册。
yyps 2012-05-08
  • 打赏
  • 举报
回复
或者 批处理文件里的路径不对,最好写全路径,因为他是从system32开始找的。
yyps 2012-05-08
  • 打赏
  • 举报
回复
八成缺dll
888atao 2012-05-08
  • 打赏
  • 举报
回复
你编写的时候,依赖了VC运行库,因为你开发电脑上肯定有装,所以没有问题; 在客户机那里,没有VC运行库,所以一定就会报错了呀~~~

解决方法:
安装对应版本的VC运行库就行了
leechiyang 2012-05-06
  • 打赏
  • 举报
回复
估计是其他电脑没有依赖的DLL库文件,vc默认采用动态连接到crt和mfc,可以设置编译选项,改成静态的,这样发布程序的时候比较方便。
Kaile 2012-05-05
  • 打赏
  • 举报
回复
用安装程序帮你注册,installshield 或 innosetup
muyilingling 2012-05-05
  • 打赏
  • 举报
回复
我也越到了同样的问题,来看看
endergo 2012-05-05
  • 打赏
  • 举报
回复
可能是依赖不足,组件使用dependens查看依赖项
向立天 2012-05-04
  • 打赏
  • 举报
回复
是不是你路径没写对
96掌门师兄 2012-05-04
  • 打赏
  • 举报
回复
注册的时候是DllRegisterServer、DllUnregisterServer注册的,你用depneds看少了什么动态库,VS2005开发的即便是release版本,在没有装VS的机器上还是少一些dll的,你可以在部署的机器上先装一个VS必备的库,详细的自己百度一下吧。
wei123456 2012-05-04
  • 打赏
  • 举报
回复
有人知道吗?
wei123456 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

应该是你的组件里没有注册的那部分,注册的那部分应该是在一个脚本里,你编译时,脚本会自动运行,但是那个dll里是没有的。
[/Quote]

谢谢,我是个新手,不太明白,在工程文件的cpp里,不是有DllRegisterServer、DllUnregisterServer等注册函数吗,难道这些都不起作用?那个注册脚本是哪个文件了?
zero_226 2012-05-03
  • 打赏
  • 举报
回复
应该是你的组件里没有注册的那部分,注册的那部分应该是在一个脚本里,你编译时,脚本会自动运行,但是那个dll里是没有的。
因文件超过20M不能上传,所以拆分为两个文件分次上传 第1章 COM背景知识 1.1 COM的起源 1.1.1 软件业面临的挑战 1.1.2 传统解决方案 1.1.3 面向对象程序设计方法 1.1.4 最终解决方案:组件软件 1.1.5 面向对象的组件模型——COM 1.2 COM的发展历程 1.2.1 COM以前的对象技术:DDE、OLE 1、VBX控件 1.2.2 COM首次亮相:OLE2 1.2.3 Microsoft拥抱Internet:ActiveX 1.2.4 更多的新名词:Windows DNA和COM+ 1.2.5 远程对象:ORBs和DCOM 1.2.6 COM的最新版本:COM+ 1.3 COM技术现状 1.3.1 COM与CORBA 1.3.2 COM与Enterprise Java Beans 1.3.3 Windows之外的COM 小结 第2章 从C++到COM 2.1 C++客户重用C++对象——例程DB 2.1.1 C++对象 2.1.2 客户程序 2.2 将C++对象移进DLL中——例程DB_cppdll 2.2.1 成员函数的引出 2.2.2 内存分配 2.2.3 Unicode/ASCII兼容 2.2.4 例程实现 2.2.4.1 修改接口文件 2.2.4.2 修改对象程序 2.2.4.3 修改客户程序 2.3 C++对象使用抽象基类——例程DB_vtbl 2.3.1 问题:私有数据成员被暴露 2.3.2 解决方案:抽象基类 2.3.2.1 什么是抽象基类(Abstract Base Class) 2.3.2.2 实现秘诀:虚函数(Virtual Functions) 2.3.3 使用抽象基类 2.3.4 例程实现 2.3.4.1 修改接口文件 2.3.4.2 修改对象程序 2.3.4.3 修改客户程序 2.4 改由COM库装载C++对象——例程dbalmostcom 2.4.1 COM库 2.4.2 对象创建的标准入口点 2.4.3 标准对象创建API 2.4.4 标准对象注册 2.4.5 例程实现 2.4.5.1 修改接口文件 2.4.5.2 修改对象程序 2.4.5.3 修改客户程序 2.5 将C++对象变成COM对象 2.5.1 引用计数 2.5.2 多接口 2.5.3 IUnknown接口 2.5.4 标准类厂接口:IClassFactory 2.5.5 对象代码的动态卸载 2.5.6 自动注册 2.5.7 例程实现 2.5.7.1 修改接口文件 2.5.7.2 修改对象程序 2.5.7.3 修改客户程序 2.6 为COM对象添加多接口支持 2.6.1 多接口 2.6.2 DEFINE_GUID 2.6.3 例程实现 2.6.3.1 修改接口文件 2.6.3.2 修改对象程序 2.6.3.3 修改客户程序 小结 第3章 COM基础知识 3.1 对象与接口 3.1.1 COM对象 3.1.2 COM接口 3.1.3 IUnknown接口 3.1.3.1 生存期控制:AddRef和Release 3.1.3.2 接口查询:QueryInterface 3.1.4 全球唯一标识符GUID 3.1.5 COM接口定义 3.1.6 接口描述语言IDL 3.2 COM应用模型 3.2.1 客户/服务器模型 3.2.2 进程内组件 3.2.3 进程外组件 3.2.4 COM库 3.2.5 HRESULT返回值 3.2.6 COM注册表 3.3 COM组件 3.3.1 实现类厂对象 3.3.2 类厂对象的创建 3.3.3 实现自动注册 3.3.4 实现自动卸载 3.4 COM客户 3.4.1 COM对象创建函数 3.4.1.1 CoGetClassObject 3.4.1.2 CoCreateInstance 3.4.1.3 CoCreateInstanceEx 3.4.2 如何调用进程内组件 3.4.3 COM客户调用进程外组件 3.5 进一步认识COM 3.5.1 可重用机制:包容和聚合 3.5.2 进程透明性 3.5.3 安全性机制 小结 第4章 COM扩展技术 4.1 可连接对象机制 4.1.1 客户、接收器与可连接对象 4.1.1.1 接收器 4.1.1.2 可连接对象 4.1.1.3 客户 4.1.2 实现可连接对象 4.1.3 实现接收器 4.1.4 建立接收器与连接点的连接 4.1.5 获得出接口的类型信息 4.2 结构化存储 4.2.1 什么叫结构化存储和复合文件 4.2.2 存储对象和IStorage接口 4.2.2.1 IStorage接口 4.2.2.2 获得IStorage指针 4.2.2.3 释放STATSTG内存 4.2.2.4 枚举存储对象中的元
com自学视频教程,绝对可以下载,共8集。主要讲解com组件相关的知识点以及com如何开发。COM接口与QueryInterface 内容提要: 1、现实中的组件与接口 2、把现实中的思想融入到软件中 3、C++程序中的组件与接口 4、COM组件与COM接口 5、QueryInterface函数,HRESULT类型,IID类型,数据类型转换 计数引用AddRef与Release 内容提要: 1、内存资源何时释放 2、引用计数的原理 3、AddRef与Release的实现与使用 4、引用计数的优化 IDispatch接口与Variant类型 内容提要: 1、IDispatch的简介与作用 2、常用的COM数据类型 3、COM数据类型的转换 4、VARIANT类型的派生类 五:《COM实用入门教程》第四讲:SimpleObject的创建与调用 内容提要: 1、用ATL制作简单对象(Simple Object) 2、在网页中测试简单对象 3、在MFC中测试简单对象 4、在C#中测试简单对象 COM组件注册与智能指针 内容提要: 1、COM组件的注册 2、智能指针的简介 3、智能指针的使用 4、智能指针与COM接口指针的比较 5、智能指针的注意点 七:《COM实用入门教程》第六讲:复合控件与CComBSTR 内容提要: 1、复合控件的创建 2、复合控件的属性 3、BSTR的包装类 4、复合控件的方法 5、复合控件的事件 6、在网页中测试复合控件的属性、方法、事件 7、在MFC中测试复合控件的属性、方法、事件 8、在C#中测试复合控件的属性、方法、事件 简单对象的方法与事件 内容提要: 1、为简单对象添加方法与事件 2、在MFC中实现事件接收器 3、在MFC中测试简单对象的方法与事件 4、测试例子的改进

3,245

社区成员

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

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