佚名通过本文主要向大家介绍了classfactory,singleton,singleton模式,singleton是什么意思,singleton酒等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: DECLARE_CLASSFACTORY_SINGLETON的问题。
描述:
解决方案1:
描述:
小弟学习COM时间不久,所以很多问题不是很清楚。
首先对COM的调用过程。
CoCreateInstance(),这样返回的是接口指针。如果我在客户端调用,通过代理去获得服务器上的接口指针。那么服务器首先加载DLL,然后创建一个COM类,通过这个COM类获得接口指针。然后我在声明一个接口指针,调用这个函数去获取,是不是服务器就不在创建COM类,而使用前面创建的过的COM类去获得接口?我的意思就是说,是不是服务器上只有一个COM类,不管你获取几个相同的接口指针,都是绑定到唯一存在的COM类上?
那么DECLARE_CLASSFACTORY_SINGLETON()又是什么?这个就是声明单一实例,是不是就是说服务器只有一个COM类。那不是跟上面的一样?
DECLARE_CLASSFACTORY_SINGLETON()这个什么情况下使用??
希望大虾们能指教小弟,本身COM就不是很好学。:(
解决方案1:
类只有一个,但是对象可以很多个。
DECLAR_CLASSFACTORY_SINGLETON()这是声明是一个单例工厂,意思是只能创建一个实例。想学好com确实很不容易!
这个问题,也困惑了我好长时间,其实类厂创建类CreateInstance需要服务器端程序员实现
但是类厂的CreateInstance是Com库调用的,这样理解对否?
您可能想查找下面的文章:
- C++写COM组件,IClassFactory::LockServer()如何使用?
- 请问IClassFactory的实现中,g_ObjCount和g_LockCount的定义应该放在哪里?
- IID_IClassFactory
- [求]ATL为我们生成的代码里有IClassFactory但是好像没有IClassFactory2
- 在创建COM类的时候,是不是必须得先创建ClassFactory
- DECLARE_CLASSFACTORY_SINGLETON的问题。
- CComCreator怎么回事?怎么又和IClassFactory混到一块了?
- ATL生成COM框架,如何让ATL实现IClassFactory
- 请问使用C++建立dll的COM而不使用其他的类库,IClassFactory和IUnknown是不是不用实现