应该可以通过这种方式创建一个单独的COM对象,但是如果X首先启动并创建它,那么Y然后启动并使用它,然后X停止并且……单例会发生什么?无论如何,有没有人试过这个用Delphi?解决方法 我想你错过了COM的核心要点. COM只是一般IPC的一个步骤,我的意思是,COM流程只存在于一个流程中(或线程甚至,但这就是公寓故事的来源).如果从两个进程访问一个COM对象,则一个进程实际上将来自和返回对象的调用编组为“平面数据”,并将消息发布到另一个进程的隐藏窗口句柄.
为了能够做你所描述的事情,你必须担心当’拥有进程’想要关闭时如何处理对象,并且必须’暂停’对象(例如通过序列化)并询问其他进程之一“恢复”对象并承担所有权并开始运行对象.
我建议你创建第三个进程,特别是只运行你想要在其他进程中使用的这个单例对象.通过这种方式,您可以让正常的引用计数和COM激活完成它的工作,并且您将按照应该使用的方式使用COM.
总结以上是内存溢出为你收集整理的delphi – 跨进程单例对象全部内容,希望文章能够帮你解决delphi – 跨进程单例对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)