![]() | Programming Guide | WideStudio/MWT Index 目次 |
リモートインスタンスにアクセスするには
リモートインスタンスにアクセスするには
インスタンス管理インスタンス(ロードモジュールにつき、一つ存在)に 対して要求すると、アクセスしたいリモートインスタンスを取得することができます。アクセスしたいインスタンスを取得は、次の様に行います。
インスタンス管理クラス インスタンス取得関数 WSCbaseList WSCbaseList* WSGIappObjectList() #include <WSCbaseList.h> //WSGIappObjectList() にアクセスする... #include <WSCRbase.h> //仮想リモートインスタンスクラスを使用 ... void event_procedure(WSCbase* object){ //インスタンス管理による WSCRbase ポインタの取得 char* obj_name = "newvlab_001"; //newvlab_001 という名称のリモートインスタンス WSCRbase* rinstance = WSGIappObjectList()->getRemoteInstance(obj_name); //仮想リモートインスタンスによるリモートインスタンスに対するアクセス rinstance->setProperty(WSNlabelString,"HELLO WORLD");rinstance がリモートインスタンスにアクセスするための仮想リモートイン スタンスです。リモートインスタンスのインスタンス名称を引数にします。 通常のインスタンス(インスタンス)にアクセスするのと同じように、仮想リ モートインスタンスを通して、リモートインスタンスにアクセスします。リモートインスタンスをキャストするには
インスタンス管理を通して得られた仮想リモートインスタンスは通常のオブ ジェクトと同じようにオリジナルのクラスにキャストして使用することが出 来ます。オリジナルクラスに存在するメソッドを利用する場合にキャストし ます。次の例は、WSClist::addItem() を呼び出すため、WSCRbase 型の仮想 リモートインスタンスから、WSCRlist 型の仮想リモートインスタンスにキャ ストしています。#include <WSCbaseList.h> //WSGIappObjectList() にアクセスする... #include <WSCRlist.h> //仮想リモートインスタンスクラスを使用 ... void event_procedure(WSCbase* object){ //インスタンス管理による WSCRbase ポインタの取得 char* obj_name = "newlist_001"; //newlist_001 という名称のリモートインスタンス WSCRbase* rinstance = WSGIappObjectList()->getRemoteInstance(obj_name); //仮想リモートインスタンスをオリジナルのクラス WSClist に対応する //仮想リモートクラス WSCRlist にキャスト。 WSCRlist* rlist = (WSCRlist*)rinstance->cast("WSCRlist"); if (rlist == NULL){ //WSCRlist クラスではない。 return; } //WSClist クラスのメソッドを WSCRlist 仮想リモートインスタンスクラスを //通して呼び出す。 rlist->addItem("item.."); }
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |