IlvModule:動的モジュール・クラス
すべての動的モジュールは IlvModule ベース・クラスのサブクラスのインスタンスで、<ilviews/base/modules.h> ヘッダー・ファイルで定義されています。
すべての動的モジュールは、サブクラスを 1 つだけ定義します。このクラスのコンストラクターは、Rogue Wave® Views がモジュールを読み込ときに呼び出され、モジュールが要求するすべての静的な初期化 (グラフィック・クラスの登録など) を実行できるようにします。
モジュール・クラスを (パブリック・ヘッダー・ファイルで) 宣言し、定義したら、Rogue Wave Views がそれを読み込めるようにする必要があります。これを行うには、いずれかの関数の本文外部で、ILVINITIALIZEMODULE マクロの呼び出しを追加し、唯一のパラメーターとして定義するモジュールのクラス名を提供します。
動的モジュール・コードのスケルトン
Rogue Wave Views 動的モジュールのスケルトンは次のとおりです。
#include <ilviews/base/modules.h>
// Pre-initialization code goes here
// This is, typically, the declaration of global variables or
// static data members.
class MyModule
: public IlvModule {
public:
MyModule(void*)
{
// Initialization code goes here
}
};
ILVINITIALIZEMODULE(MyModule);
モジュール・クラスのコンストラクターに備わっているパラメーターにより、アプリケーションに依存するデータをモジュールの初期化に送ることができます。これは、外部データを使用してモジュールを正しく初期化する際に必要です。これについては、この章の後半で詳しく説明します (
明示的モード を参照してください)。
メモ: ほとんどの場合、モジュールの完全な初期化は 2 つの部分に分けられます。つまり、関数の外部コードでの変数の宣言とその初期化です。これには関数の呼び出しが必要な場合もあり、モジュール・コンストラクターに表示されなければなりません。 |
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.