0

我正在处理一个加载在应用程序 A 中的 dll,我想在应用程序 A 和另一个应用程序 B 之间共享接口/对象,所以,想法如下:

[国外应用A] <- [我的dll] <-> [我的应用B]

理想情况下是“以某种方式”将 dll 中的函数重新路由到 [我的应用程序 B]

我对一个优雅的解决方案感兴趣,一个不需要太多妥协的解决方案,想法?

编辑:[应用程序 A] 是用 C 编写的,[我的 dll] 和 [应用程序 B] 是用相同的 delphi 版本编写的。

4

1 回答 1

2

为什么不在 [My Application B] 中公开一个 [My DLL] 可以访问和转发函数调用的自动化接口?

[My Application B]

IMyRemoteInterface = interface(IDispatch)
    ... Ole interface functions here ...
end;

TMyRemoteInterfaceImpl = class(TAutoObject, IMyRemoteInterface)
    ... Implementation gubbins ...
end;

接着

[My Application C]

Server = CreateOleObject(MyApplicationB.MyRemoteInterface)
....
Server.DoStuff

显然还有更多的东西,但你明白了要点。

于 2012-04-19T12:10:22.737 回答