質問: ### 前提・実現したいこと Visual C++ 2013にてFormを表示するDLLを作成し、Visual C++ 6で作成された アプリケーションから呼び出して表示しようとしています。 ### 発生している問題・エラーメッセージ Formを使いたいので、CLRクラスライブラリで作成しようと思いましたが、作成方法自体が よく分かりませんでした。 ※CLRを使用した場合のVC++6側の呼び出し方法も分かりません。 Formを使わない「MFC DLL」や「Win32 DLL」での作成・使用は、VC2013(DLL)+VC6(App) であっても問題ありませんでした。 参考になるサイトの情報等、些細な情報でもご回答いただければ。 お願いします。 ■補足追記■ 呼び出し側(アプリ)が「VC6製」なのは既存のシステムです。 このシステムは、将来「VC2013」にて更新される予定です。 DLL側をVC2013で作成するのは、いづれ置換されるVC2013製アプリでも 使用できるようとの配慮のようです。 「実現したいこと」にも書きましたが、DLL側でFormを表示・操作することが目的です。 CLRでの開発は、Form追加すると「CLRコンポーネントをネイティブプロジェクトに 追加しています。~」といったメッセージが表示されることから、CLRクラスライブラリ で作成するのかと思いました。
回答: C++/CLI 、相互運用 等で調べれば情報が得られると思います。 が、なぜ、そのような開発環境の組み合わせなのでしょうか? どうしようもない事情で VC6から .NET の Form 呼び出しが必要な場合、DLLではなく、exeにして呼び出して、何らかの通信の方が良いかもしれません。 技術的な興味でCから.NET呼び出しであれば、ホスト (アンマネージ API リファレンス).aspx) あたりで可能かもしれませんが、内容はあまり確認していません。