OXlib++プログラム
GUIオブジェクト生成方法
GUIオブジェクトの生成方法により以下の3つである。
静的
旧OXlibと同様にstaticなクラスオブジェクトを定義する方法。
リソース・コンパイラの出力は常に静的 オブジェクトの定義の羅列である。
オブジェクトはアプリケーションのロード時に構築される。
このとき、GUIオブジェクトは変数名としてBOX名を_(アンダースコア)で接続した名前が与えられる。
動的
プログラム中 new により自由に動的 なGUIオブジェクトを作成可能である。
通常のC++のクラスオブジェクトの生成と全く同じである。
このとき、コンストラクタの引数にてリソースが与えられる。
リソース・ファイルより完全動的
旧OXlibでは、リソース・エディタの出力であるリソース・ファイルをアプリケーションの起動時に読み込んで、基本リソースの再設定だけは可能であった。
新しいOXlib++では、リソース・ファイルをアプリケーションの起動時に読み込んで、完全に動的 にクラスオブジェクトの生成とリソースの設定が可能である。
BOXツリーの定義にしたがって起動時にBOXを構築するのである。
注意
このとき必ずすべての部品を定義した allparts.o をリンクする必要がある。
C++ は動的 なクラス生成は不可能だからだ。
ただし、allparts.o をリンクすると、常にすべての部品のコードがリンクされるのでアプリケーションの容量が多少大きくなる。
もちろん、リソースファイルによる動的 にオブジェクトを作り出さないときは allparts.o のかわりに apdumy.o をリンクすると使用している部品のみのコードしかリンクされない。







