MFC C++ activex コントロールを再開発するには、どの C# プロジェクト タイプを使用しますか?

StackOverflow https://stackoverflow.com/questions/55451

質問

VS2008 の C# プロジェクト テンプレートを見ると、WPF ユーザー コントロール ライブラリ、WPF カスタム コントロール ライブラリ、および Windows フォーム コントロール ライブラリが提供されています。C++ で書かれた従来のアクティブ コントロールを C# と .NET の世界に移行したい場合、次のどれを使用しますか?

役に立ちましたか?

解決

いくつかの異なることを一度に実行しようとしているようです。

  1. コードを新しいバージョンの Visual Studio のビルドに移行します。
  2. テクノロジーの使用を新しいテクノロジー (ActiveX から .net) に移行します。
  3. 言語を移行します (C++ から C#)。

コードベースが小さい場合は、最初から開始して、必要に応じて機能を新しいコードベースに移植する方がよいでしょう。

大規模なコードベースの場合、これは労力と欠陥率の両方でコストのかかるタスクであることを認識する必要があります。

注文は次のようになります。

  1. コードを新しいバージョンの Visual Studio にインポートします。コンパイルしてみましょう。各プロジェクトのプロジェクト設定を確認します。
  2. コードをリファクタリングして、mfc コードと activex コードをできるだけ分離します。特に開始前に単体テストをあまり行わない場合は、適切なリファクタリング プラクティスに従ってください。
  3. ActiveX レイヤーを .net に置き換えることを検討してください。
  4. MFC の置き換えに最適な GUI ツールキットを検討してください。
  5. 言語 - まずはマネージド C++ への移行を検討してください。
  6. マネージド C++ から C# への移行を検討してください。

最も重要なのは、上記のすべてを行うことを正当化できることです。

他のヒント

これを行うプロジェクト テンプレートはありません。ユーザーコントロールを読んで開始することもできます。

コントロールをホストするターゲット アプリケーションを考慮する必要があります。基幹業務アプリケーションの場合は、 聞いた WPF には Forms に比べて大きな利点はないということです。によると これ ただし、ブログ エントリによれば、著者は、キラー WPF はデータ視覚化のために WPF が提供するグラフィック機能を活用する LOB アプリケーションであると考えています。

結局は費用対効果の分析だと思います。WPF の道を進み、グラフィカル データ視覚化の将来のメリットのために学習曲線のコストを支払うか、それとも実証済みの方法に固執して時代遅れのアプリケーションを開発する危険を冒すか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top