メモ: ウィザードによって生成されたファイルに含まれる次のコメントは、Rogue Wave Views 用に変更または追加されたコード行を示します。 // Added for Rogue Wave Views // End Added for Rogue Wave Views |
警告: このチュートリアルを開始する前に、ActiveX コントロールの構築に当たっては、いくつかの問題が起きる可能性のあることをあらかじめご承知ください。たとえばある理由で、_DllMain、new、delete のような記号は、しばしばリンク時に定義されることがあります。このチュートリアルで提供されるコードにも、Rogue Wave Views ライブラリーにもこれらの記号に関する定義は一切含まれません。この問題は、次のファイル間の競合が原因となっているものと考えられます。すなわち、nafxcw.lib (MFCによって使用される)、libcmt.lib (C ランタイム・ライブラリーによって使用される)、libcpmt.lib (C++ ランタイム・ライブラリーによって使用される) 間の競合です。 ただし、次に示すように、この問題を回避する方法があります。 1. ファイル DemoMFC.cpp および DemoMFCCtrl.cpp の DemoCtrl クラスを参照する行すべての前に、コメント文字を挿入します。 2. プロジェクト内のファイル ctrl.cpp および DemoCtrl.cpp を、非アクティブに設定します。 3. ActiveX コントロールを構築します。 4. 手順 1 で挿入したコメント文字を削除します。 5. ファイル ctrl.cpp および DemoCtrl.cpp をアクティブに再設定します。 6. ActiveX コントロールを再構築します。 以上の手順に従えば、この問題は回避できます。手順をより簡単にする場合は、コメントする行をソース・ファイル内で、次の if/endif マクロで囲みます。 #if define(USE_VIEWS) #endif このマクロを、ctrl.h ファイルで定義します。このマクロが定義するコード行の前にコメント文字を挿入し、必要に応じて削除します。 問題の原因が正確に特定でき次第、Microsoft に報告する予定です。 |