ここにヒストリーレッスンのビット。私は従来のC++/MFCアプリケーションで作業しており、C#(WinFormsとそれ以降のWPF)で書かれたコンポーネントをプッシュすることによってインクリメンタルな近代化を開始しようとしています。マネージドCからアンマネージコードをコールバック
私は近い将来に解決することが不可能な多くの理由で.Net/1.1とVS/2003を使用しています。
現在、概念の証明として、このようなものは動作します:
#pragma push_macro("new")
#undef new
WinFormA::Form1* myform;
myform = __gc new WinFormA::Form1();
myform->ShowDialog();
#pragma pop_macro("new")
私がいる問題はこれです - 私は管理のC#へのコールバックポインタを渡すために管理されていないC++/MFCコードが必要です私はユーザーのやりとりをキャプチャして、アプリケーションで処理させることができるように、WinFormのコードです。
this MSDN articleなどの記事を見ましたが、VS/2003では動作しません(コンパイラはデリゲート構文が嫌いです)。
その他のオプションはありますか?フラットAPIではなく、特定のアプリケーションインスタンスと対話する必要があるため、DLLImportを使用することはできません。
ありがとうございます!