如何在两个进程之间共享一个对象?高手赐教!!!!进者有分!

puppet 2003-10-16 11:11:37
因为这些对象是动态创建的,用filemapping似乎不行!能不能用com实现?盼高手!!!分不够再加!在线等
...全文
46 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenke410 2003-10-21
  • 打赏
  • 举报
回复
up
maoxianwang 2003-10-19
  • 打赏
  • 举报
回复
共享内存
XXandOO 2003-10-18
  • 打赏
  • 举报
回复
可以使用共享内存的方法呀,如够用com实现,可以用进程外组件呀(exe)。
puppet 2003-10-17
  • 打赏
  • 举报
回复
也就是保持对象在系统中只有一个实例
puppet 2003-10-17
  • 打赏
  • 举报
回复
现在想用com做,做成一个进程外组件,如何做?
DragonFly-9 2003-10-17
  • 打赏
  • 举报
回复
把你的组件放到MTS中,这样就可以保证该组件组件只有一个实例。
tigerfox 2003-10-17
  • 打赏
  • 举报
回复
把对象的数据做为共享,用到数据的时候到共享内存中来取,然后生成临时对象。

xiaohyy 2003-10-17
  • 打赏
  • 举报
回复
生成一个临时文件不久行了?进程通过该文件来通信。
wangjs720 2003-10-17
  • 打赏
  • 举报
回复
你试试,利用内核对象的继承性,或者给对象命名
或者像下面这样将"Global\"置于对象名的前面,就可以使命名对象进去全局名字空间
HANDLE h = CreateEvent(NULL,FALSE,FALSE,"Global\myname");
或者复制对像句柄
BOOL DuplicateHandle(
HANDLE hSourceProcessHandle,
HANDLE hSourceHandle,
HANDLE hTargetProcessHandle,
LPHANDLE lpTargetHandle,
DWORD dwDesiredAccess,
BOOL bInheritHandle,
DWORD dwOptions
);
flyingjust 2003-10-17
  • 打赏
  • 举报
回复
在ATL7.0中用DECLARE_CLASSFACTORY_SINGLETON(u classname)可以让所有客户使用同一个实例
puppet 2003-10-16
  • 打赏
  • 举报
回复
顶!
feeboby 2003-10-16
  • 打赏
  • 举报
回复
up
crystal_heart 2003-10-16
  • 打赏
  • 举报
回复
up
yushulei 2003-10-16
  • 打赏
  • 举报
回复
up
puppet 2003-10-16
  • 打赏
  • 举报
回复
想把这些创建对象的工作放到一个com组件中,然后由这个组件为其他进程提供服务。
如何做?
LeeZi 2003-10-16
  • 打赏
  • 举报
回复
用Service就可以很好的解决这个问题。为多个进程共享很方便。
flyingjust 2003-10-16
  • 打赏
  • 举报
回复
在ATL7.0中用DECLARE_CLASSFACTORY_SINGLETON(u classname)可以让所有客户使用同一个实例
flyingjust 2003-10-16
  • 打赏
  • 举报
回复
COM+的共享组件.
但是也不能保证只有一个组件被创建
lsl7909 2003-10-16
  • 打赏
  • 举报
回复
puppet 2003-10-16
  • 打赏
  • 举报
回复
两个程序,都要从XML文件动态生成一个树结构,内容相同,现在想把这个树结构
做成一个com组件,让不同的进程共享,以减少内存的使用,就是这个意思了。
也就是想把动态生成树的过程独立出来,做成一个DLL,为多个进程提供服务。
加载更多回复(3)

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧