WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


访问远程实例



访问远程实例

通过对象管理实例(每个载入模块中存在一个),访问远程实例。

对象管理类 实例获得函数
WSCbaseList WSCbaseList* WSGIappObjectList()

按照如下步骤获得远程对象实例。

#include  //访问WSGIappObjectList()
#include     //访问虚拟远程实例
...
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  //访问WSGIappObjectList()
#include     //访问虚拟远程实例
...
void event_procedure(WSCbase* object){

  //通过对象管理实例获得 WSCRbase 指针
  char* obj_name   = "newlist_001";     //远程实例名为newvlab_001
  WSCRbase* rinstance = WSGIappObjectList()->getRemoteInstance(obj_name);

  //将虚拟远程实例作为 WSClist 基类,类型转换为虚拟远程类 WSCRlist 
  WSCRlist* rlist = (WSCRlist*)rinstance->cast("WSCRlist");
  if (rlist == NULL){
    //如果不是 WSCRlist 类
    return;
  }

  //通过 WSCRlist 虚拟远程实例类,调用 WSClist 类的方法
  rlist->addItem("item..");

}


Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | Table of contents

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005