Manager > マネージャーの基本機能 > 保存と読み込み
 
保存と読み込み
マネージャー・オブジェクトとそのプロパティーを、特定のストリームから保存したり読み込むことができます。IlvGraphic オブジェクトのセットの保存と復元を簡単にするために、2 つのクラスが提供されています。
*IlvManagerOutputFile (IlvOutputFile のサブタイプ)
*IlvManagerInputFile (IlvInputFile のサブタイプ)
これら 2 つのクラスは、マネージャー専用情報のみをオブジェクト記述ブロックに追加します。
IlvManagerInputFile クラスは IlvManagerOutputFile を使用して作成したファイルを読み込みます。
例:IlvManagerOutputFile クラスの使用
以下は、IlvOutputFile クラスのサブタイプの例です。ここで、IlvOutputFile::writeObject メンバー関数は、マネージャー専用情報をそれぞれのオブジェクトに追加するために実装されています。
void
IlvManagerOutputFile::writeObject(const IlvGraphic* object)
{
if (getManager()->isManaged(object))
getStream() << getManager()->getLayer(object) << IlvSpc();
else
getStream() << "-1 ";
writeObjectBlock(object);
}
オブジェクト記述ブロックを記述する前に新しい情報が追加されます。これは、レイヤーに、グラフィックobject の場所を示します。オブジェクトがマネージャーで管理されていなかった場合は、Rogue Wave Views が getStream に値 -1 を書き込みます (これは有効なレイヤー・インデックスではありません)。値 -1 は、マネージャー・オブジェクト・セットにこのオブジェクトを追加できないことを示します。
メモ: 「ガジェット」と呼ばれる特殊な Rogue Wave Views グラフィック・オブジェクトは、以下のサブクラスを必要とします。IlvGadgetManagerInputFile (IlvInputFile のサブクラス) および IlvGadgetManagerOutputFile (IlvOutputFile のサブクラス)。これらのサブクラスはガジェット関連プロパティーの永続性を処理します。これら 2 つのクラスのサブタイプ化は許可されていますが、サブタイプ化された C++ クラス名には文字列 OGadgetO を挿入する必要があります。
IlvManagerInputFile::readObject メンバー関数を実装するために使用される C++ コードは次の通りです。
IlvGraphic*
IlvManagerInputFile::readObject()
{
IlvGraphic* object;
int layer;
getStream() >> layer;
IlUInt dummyIndex;
IlvGraphic* object = readObjectBlock(dummyIndex);
if (object && (layer >= 0))
getManager()->addObject(object, IlFalse, layer);
return object;
}
読み込んだオブジェクトは、レイヤー・インデックスが 0 以上である場合に限ってマネージャーに追加されます。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.