Wide Studio Object Reference

Wide Studio Home
Up to

## クラスの型

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クラスのリモートインスタンスの取得を行います。
  処理
    リモートサーバに存在するリモートインスタンスのうち、 公開されているリモートインスタンスへの 参照(仮想リモートインスタンス)を取得します。
  引数

    (in)char* iname | インスタンス名称

  返値
    仮想リモートインスタンス
  注意
    エージェント、リモートインスタンスサーバーが起動されている 必要があります。
  サンプル

          // 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