 | | Wide Studio Object Reference
| |
クラスの型
WSCbaseList
メソッド関数仕様
WSGIappObjectList 関数の説明
- 書式
- WSDbaseList* WSGIappObjectList()
- 機能
- アプリケーションに1つ存在するインスタンス管理クラスの
グローバルインスタンスを取得する関数です。
- 処理
-
- 引数
- なし。
- 返値
- インスタンス管理クラスインスタンスへのポインタ
- 注意
- この関数はグローバル関数です。
返されたポインタを解放してはいけません。
- サンプル
-
//更新待ちのインスタンス達を更新します。
WSGIappObjectList()->execUpdate();
getInstance 関数の説明
- 書式
- WSCbase* getInstance(char* cname,char* iname)
- 機能
- 指定したクラス名称とインスタンス名称を持つGUIクラスの
インスタンスを検索する関数です。
クラス名称、インスタンス名称とも
完全に一致しなければなりません。
ただしクラス名称に WSCbase を指定すると、
クラス名称に関係なく指定したインスタンス名称を
持つインスタンスが検索されます。
- 処理
- クラス名に WSCbase を指定すると、全検索を行います。
その他は、その指定されたクラスのみを検索します。
- 引数
-
(in)char* cname | クラス名称 |
(in)char* iname | インスタンス名称 |
- 返値
- GUIインスタンス
- 注意
- 指定するクラス名称で WSCbase 以外を指定した場合、
指定したクラスそのもので生成されたインスタンスのみ、
検索を行ないます。
したがって、例えば、WSCvlabel を継承する WSCvbtn を、
WSCvlabel で検索したとしても検索されません。
- サンプル
-
//WSCvlabel クラスの名称 newvlab_000 なるインスタンスを取得します。
WSCbase* inst = WSGIappObjectList()->getInstance("WSCvlabel","newvlab_000");
getRemoteInstance 関数の説明
- 書式
- WSCRbase* getRemoteInstance(char* iname)
- 機能
- GUIクラスのリモートインスタンスの取得を行います。
- 処理
- リモートサーバに存在するリモートインスタンスのうち、
公開されているリモートインスタンスへの
参照(仮想リモートインスタンス)を取得します。
- 引数
-
- 返値
- 仮想リモートインスタンス
- 注意
- エージェント、リモートインスタンスサーバが起動されている
必要があります。
- サンプル
-
// newvlab_000 なるリモートインスタンスへの参照を取得します。
WSCRbase* remote_inst = WSGIappObjectList()->getRemoteInstance("newvlab_000");
// 取得されたリモートインスタンスへアクセスします。
if (remote_inst != NULL){
remote_inst->setProperty(WSNlabelString,"Hello!");
}
existInstance 関数の説明
- 書式
- WSCbool existInstance(WSCbase* instance)
- 機能
- 指定されたインスタンスが正しいインスタンスであるかどうかを
調べる関数です。
- 処理
-
- 引数
-
(in)WSbase* instance | GUIクラスのインスタンス |
- 返値
- True = 正しいインスタンス、False = 妥当でないインスタンス
- 注意
-
- サンプル
-
void sample(){
WSCbase* inst = ...//正しいインスタンスかどうか調べたいインスタンス。
WSCbool exit = WSGIappObjectList()->existInstace(inst);
if (exit == False){
//無効インスタンス、または無効ポインタである。
}else{
//正しいインスタンスである。
}
}
execUpdate 関数の説明
- 書式
- void execUpdate()
- 機能
- 未更新のインスタンスの udpate() 関数を呼び出して、
表示を更新する関数です。
- 処理
-
- 引数
- なし。
- 返値
- なし。
- 注意
-
- サンプル
- WSGIappObjectList() を参照してください。
addEvent 関数の説明
- 書式
- void addEvent(WSCbase*,long)
- 機能
- イベントを通知したいインスタンスを登録する関数です。
登録の際、トリガを指定することができます。
トリガを省略すると、WSEV_NONE とみなされます。
登録したインスタンスに対して、execEvent() 関数によって
一斉にイベントを通知することができます。
通知は、イベントプロシージャ名またはトリガを指定して行います。
ただし、トリガを省略して登録した場合は、
イベントプロシージャ名を使った通知しかできません。
- 処理
- 登録されたインスタンスに対して、execEvent()関数によって、
イベントを一斉に通知し、イベントプロシージャを実行することが
できます。
- 引数
-
(in)WSbase* instance | 登録したいインスタンス |
(in)long trigger | 登録したいトリガー |
- 返値
- なし。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
// WSCbaseList::execEvent(char*)でイベント通知を行います。
WSGIappObjectList()->addEvent(object);
}
void sample_proc2(WSCbase* object){
// WSCbaseList::addEvent()で登録されたインスタンスの
// 指定されたプロシージャ名のイベントプロシージャを実行します。
WSGIappObjectList()->execEvent("procedure1");
}
execEvent 関数の説明
- 書式
- void execEvent(long)
- 機能
- addEvent() 関数で登録されたインスタンスに対して、
トリガを指定してイベントを通知する関数です。
execEvent() の引数とaddEvent() で指定したトリガが一致した
すべてのインスタンスにイベントが通知されます。
ただし、そのインスタンスに指定したトリガに貼り付けられた
イベントプロシージャがなければ何も起きません。
また、WSEV_NONE を指定しても何も実行されないので、
addEvent() でトリガを省略して登録したインスタンスに対して、
トリガ指定でイベントを通知することはできません。
- 処理
- 指定されたトリガで登録されたインスタンスに対して、
イベントを一斉に通知し、イベントプロシージャを実行することが
できます。
- 引数
-
(in)long trigger | 通知したいトリガー |
- 返値
- なし。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
// WSCbaseList::execEvent(char*)でイベント通知を行います。
WSGIappObjectList()->addEvent(object,WSEV_ACTIVATE);
}
void sample_proc2(WSCbase* object){
// WSCbaseList::addEvent()で登録されたインスタンスの
// 指定されたトリガのイベントプロシージャを実行します。
WSGIappObjectList()->execEvent(WSEV_ACTIVATE);
}
execEvent 関数の説明
- 書式
- void execEvent(char* evname)
- 機能
- addEvent() 関数で登録されたインスタンスに対して、
イベントプロシージャ名称を指定してイベントを通知する関数です。
登録された中で、指定した引数と同じ名称のイベントプロシージャを
持つすべてのインスタンスに対して、そのイベントプロシージャの
プロシージャ関数が実行されます。
- 処理
- 登録されたインスタンスに対して、この execEvent()関数によって、
イベントを一斉に通知し、イベントプロシージャを実行することが
できます。
- 引数
-
(in)char* evname | 実行させたいイベントプロシージャ名称 |
- 返値
- なし。
- 注意
-
- サンプル
- addEvent() を参照してください。
delEvent 関数の説明
- 書式
- void delEvent(WSCbase*,long)
- 機能
- addEvent() 関数で登録されたインスタンスの登録を解除する
関数です。
この関数の実行後は、解除されたイベントに対して、
イベントプロシージャの実行は行われません。
- 処理
-
- 引数
-
(in)WSbase* instance | 登録したインスタンス |
(in)long trigger | 登録したトリガー |
- 返値
- なし。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
// WSCbaseList::addEvent() で登録されたインスタンスの登録を解除します。
WSGIappObjectList()->delEvent(object,WSEV_ACTIVATE);
}
Document Release 3.70 For Use with Wide Studio Release 3.70, Spring 2004 WideStudio Home | Up to Copyright(C) WideStudio Development Team, 1999-2004 | | Last modified: May. 25, 2004 | |