【发布时间】:2012-04-21 01:51:41
【问题描述】:
我使用WM_COPYDATA来启用我的两个进程A和B之间的通信。用基本数据类型交换数据没有问题。
现在我有一个问题,在某些情况下我想将一个接口 (IDispatch) 从我的进程 A 传递给我的进程 B。这可能吗?
【问题讨论】:
-
没有 WM_COPYDATA 的直接经验。但是你检查过这个 - codeproject.com/Articles/5307/…。 Joseph Newcomer 似乎也暗示这是可能的 - flounder.com/wm_copydata.htm(他通常对 Win32 的所有事情都是正确的)
-
@Gangadhar 这是一个非常好的链接。问题在于所有数据都必须序列化到 WM_COPYDATA 缓冲区中 - 您可以手动完成(如作者建议的那样),或依赖自动编组,如 COM 或 mORMot。
-
也许我完全不在了,但是 ObjectFromLresult 和 LresultFromObject 呢?
-
@kobik 接口只有在创建它的过程中才有意义,这就是问题所在
-
@DavidHeffernan,是的,但我知道上面的函数是用来抓取外部的
IHTMLDocument2接口(对象必须实现IAccessible),所以我认为它可能会有所帮助...跨度>
标签: delphi com interface ipc idispatch