没有合适的资源?快使用搜索试试~ 我知道了~
回答:这个问题我目前找不到确定的答案,目前已知的信息是:一般来讲使用组件必须要拥有组件的实例,没有类工厂可以创建实例,使用的是COM库的CoCreateInst
资源详情
资源评论
资源推荐
COM 组件疑难问题
1. 对于已经发布的 COM 组件,组件的开发人员究竟还能做什么?
答:只要不改变接口,并且使原来依赖于这个组件的程序不需要重新编译依然能正常运行,
其他的一切都能干,比如对某个接口函数换用更好的实现,比如加新的接口.
2. 都有哪些地方需要 GUID?
回答:组件业务逻辑接口和组件类,一个 IID 唯一标识一个组件业务逻辑接口,一个 CLSID
唯一标识一个组件.
3. 如果一个 COM 组件没有类工厂,能否创建里面类的实例?在不能创建实例的情况下,只通
过接口,能不能调用接口里面的函数?
回答:这个问题我目前找不到确定的答案,目前已知的信息是:一般来讲使用组件必须要拥
有组件的实例,没有类工厂可以创建实例,使用的是 COM 库的 CoCreateInstance,传入
CLSID 和某一个 IID,函数实例化这个 CLSID 对应的组件,并获取 IID 指定的业务机接口,把
实例绑定在这个接口类型上,然后传出指针,这种情况下往往不需要对 DLL 进行注册表注
册.在不能创建实例的情况下,我认为使用不了里面的函数.因为只有静态方法不需要实
例绑定,但是从接口又无法访问静态函数.
4. 所有的 COM 组件都要实现 IClassFactory 接口吗?
回答:书上说了,不是这样的,可以不实现 IClassFactory 接口
5. COM 组件能不能向外部提供静态函数?
回答:不能,因为组件对外只公开接口,接口没有办法提供静态函数.
6. 如果只知道一些 COM 组件中的接口,不清楚接口中的方法,能使用这个 COM 组件吗?
回答:我认为不能,如果只知道接口 ID,却不知道接口方法,是没办法使用这个接口的.
7. 如果只知道一个 COM 组件中具有 IUnknown 接口,能使用这个组件吗?
回答:同上,这相当于对这个组件一无所知.
8. 如果 COM 组件并不是都需要实现 IClassFactory 接口,那么这个组件所在的 DLL 会在什
么时机退出内存呢?
那就和类厂里面的计数无关了呗
9.
丽龙
- 粉丝: 25
- 资源: 332
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0