佚名通过本文主要向大家介绍了多谢款待,多谢,多谢的英文,多谢款待日剧,多谢了简谱等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何获取组件指针,多谢
描述:
解决方案1:
描述:
多个程序都会创建同一组件,现在都会调用CoCreateInstance方法,但是每次都会重新构造组件,所以组件里面的东西总是被清空。现在希望,在新的程序在创建组件前检查一下该组件是否已经创建,如果已经创建,就不再用CoCreateInstance重新创建,而直接获取组件接口指针。有什么方法能够做到这点吗?多谢了!!
解决方案1:
组件在创建的时候它自已保证只创建一个对象就行了。这样其它的程序不管怎么创建都会得到一个相同的组件对象。保证只创建一个的代码应该放的组件代码中,不是在程序中。那个组件是你自己建的吗?
解决方案2: 如果是无界面的,你这种需求比如用socket的c/s架构可能更合适些。
com组件一般是STA,也就是一个组件实例服务于一个组件客户端。
当然也可以是MTA,也就是一个组件实例可以处理并发的访问,服务多个客户。那么这时,
第一:你要编程是支持MTA
第二:某个组件客户端得到组件指针后,要marshal这个指针,并想办法传给
另一套间(apartment)的组件客户端。
当然还可以用自由套间线程(Free Thread Apartment),这就更麻烦了。
基于你的问题,和对你的判断,建议用socket。