0

アプリケーションAにロードされているdllで作業していますが、アプリケーションAと別のアプリケーションBの間でインターフェイス/オブジェクトを共有したいので、次のように考えます。

[外部アプリケーションA]<-[mydll]<->[myアプリケーションB]

理想的には、dll内の関数を[私のアプリケーションB]に「どういうわけか」再ルーティングすることです。

あまり妥協を必要としないエレガントなソリューションに興味がありますか?

編集:[アプリケーションA]はCで書かれ、[mydll]と[アプリケーションB]は同じデルファイバージョンで書かれています。

4

1 に答える 1

2

[マイDLL]がアクセスして関数呼び出しを転送できる[マイアプリケーションB]の自動化インターフェイスを公開してみませんか?

[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 に答える