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() 関数を呼び出して、 表示を更新する関数です。
  処理
    未更新のインスタンスの udpate() 関数を呼び出して、 表示更新を行います。
  引数
    なし。
  返値
    なし。
  注意
  サンプル
    WSGIappObjectList() を参照してください。

  ### addEvent 関数の説明

  書式
    void addEvent(WSCbase*,long)
  機能
    イベントを通知したいインスタンスとを登録する関数です。 登録の際、トリガを指定することができます。 トリガを省略すると、WSEV_NONE とみなされます。 登録したインスタンスに対して、execEvent() 関数によって いっせいにイベントが通知することができます。 通知は、イベントプロシージャ名またはトリガを指定して行います。 ただし、トリガを省略して登録した場合は、 イベントプロシージャ名を使った通知しかできません。
  処理
    登録されたインスタンスに対して、execEvent()関数によって、 イベントを一斉に通知し、イベントプロシージャを実行することが できます。省略すると WSEV_NONE が指定されます。 省略した場合は、トリガ指定による 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() 関数で登録されたインスタンスの登録を解除する関数です。 この関数の実行後は、解除されたイベントに対して、 イベントプロシージャの実行は行われません。
  処理
    addEvent() 関数で登録されたインスタンスの登録を解除します。
  引数

    (in)WSbase* instance | 登録したインスタンス
    (in)long trigger | 登録したトリガー

  返値
    なし。
  注意
  サンプル

        void sample_proc(WSCbase* object){
          // WSCbaseList::addEvent() で登録されたインスタンスの登録を解除します。
          WSGIappObjectList()->delEvent(object,WSEV_ACTIVATE);
        }

  Document Release 3.20
  For Use with Wide Studio Release 3.20, Winter 2002

  WideStudio Home | Up to

  Copyright(C) T. Hirabayashi, 1999-2002 |  | Last modified: Nov. 28, 2002