佚名通过本文主要向大家介绍了目标被多个用户共用,找不到一个或多个组件,su怎么复制多个组件,易语言复制多个组件,vue 多个组件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何实现多个客户程序共用一个组件实例,急-不难-立刻给分
描述:
解决方案1:
描述:
本地基于MFC的test.exe组件,客户使用:
CoCreateInstance(tbclsid,NULL,CLSCTX_LOCAL_SERVER,
IID_IUnknown,(void **)&m_pTBUnknown);
调用,结果每个客户都产生了一个test.exe组件实例。
现在想无论多少个客户调用组件,都共用一个组件实例。
请教,在组件端和客户端如何实现?
解决的话立刻给分。不够追加。
解决方案1:
学习
解决方案2:本地基于ALT的test.exe组件好象就没问题
解决方案3:写成服务。。
解决方案4: 你应该在CoRegisterClassObject中用REGCLS_MULTIPLEUSE
但是这样也只是客户共用类厂对象,不是共用组件对象
如果你想共用组件对象,ATL中提供了DECLARE_CLASSFACTORY_SINGLETON宏,很方便
如果你用mfc的话,那就自己编一个类厂对象,缓存一个组件对象,对于以后的每一个请求,都返回这个缓存对象的指针
另外,你还可以考虑一下多实例共享状态