2011-08-10 6 views
0

MFCアプリケーション用のプラグインを作成する必要があります。
- プラグインがdllとしてデプロイされています。
- ランタイムでは、MFCアプリケーションがプラグインを呼び出し、プラグインがカスタムダイアログを表示します。
- DLLを動的にロードする必要があります.DLLが更新された場合、MFCアプリケーションを再コンパイルしないでください。MFCアプリケーションの.netプラグインを作成しますか?

私は主に.netでコードし、MFCで再生した後、すべてが私にとってはあまりにも奇妙に思えます(イベント/代理人などはありません)。私はMFC dllを書くのはいいですが、もし私が.netでそれを行うことができれば、私は試してみるつもりです。可能な解決策は、私はC#のDLLを書くことができ、それをCOMとして公開することです。私はCOMについて何も知らないので、ここに私の質問があります:
- クライアントのマシンに.netフレームワークをインストールする必要がありますか?
- COMをMFCアプリケーションから動的に読み込むことはできますか?
- COMにアセンブリを登録する方法については、クライアントのマシンで何かお読みください。 (もしそうなら、インストーラは更新する必要があります) - MFCアプリケーションでCOMを使用するのは簡単ですか?(これはMFCの開発者がコードを修正する必要があります)

または、 NET、COMとMFCの間の接続は、MFCのコードに私を示唆しますか?ありがとう。

UPDATE:
私はMFCと.NETの間のブリッジとしてC++/CLIを使用することを決定しました。混合C++/CLI dllはMFCアプリケーションから呼び出すことができ、dllは.netフレームワークを利用することができます。したがって、私は別のDLLにC#でUIをコード化することができ、そのDLLはC++/CLIによって呼び出すことができます。

参考文献:

  1. Native and .NET Interoperability
  2. Integrate Windows Forms Into Your MFC Applications Through C++ Interop

答えて

1

.NET Frameworkは、クライアントのマシンにインストールする必要がありますか?

はいフレームワークは、動的にMFCアプリケーションからCOMロードすることができ

クライアントのマシンにインストールする必要がありますか?私はアセンブリの登録について何かを読んでMFCアプリケーションが動的にDLLをロードすることは、それは限り、あなたのクラスのパブリックインターフェイスは

を変更しないように更新されることなく、それを呼び出すことができ

COM、これはクライアントのマシンで行われますか?

はい.NET COMオブジェクト(またはそのようなCOMオブジェクト)は、クライアントのマシンに登録する必要があります。あなたは

は、それが合理的に簡単なはず

(これは自分のコードを変更するMFCの開発者が必要です)MFCアプリケーションでCOMを使用することが容易であること

に行うのVisual Studioでの建物のセットアッププロジェクトを使用することができますが、それはMFCのDEVの

のためのより多くの質問あなたは私がMFC

をコーディングすることをお勧めあなたは知っていますC++またはMFC?そうでない場合は、おそらくもっと多くの作業です。

もう1つのオプションは、C++/CLRにコンポーネントを書き込むことです。 MFCアプリケーションから直接呼び出し可能な無人機能/クラスを公開することができます。

+0

あなたは答えを記入するのを忘れましたか? –

+0

@AZ、はい私はあまりにも早く保存をヒットしました。答えは今のところです – shf301

+0

私はC++とC++/CLIを知っています。 MFC、少し。私はC + +/CLIの部分に興味があるので、私は私の混合dllをコンパイルすることができますし、他のC + +のDLLとしてMFCアプリケーションで使用することができますか? (ネイティブインタフェースのみを使用していると仮定します) –

関連する問題