![]() | Programming Guide | WideStudio/MWT Index Table of contents |
访问远程实例
访问远程实例
通过对象管理实例(每个载入模块中存在一个),访问远程实例。按照如下步骤获得远程对象实例。
对象管理类 实例获得函数 WSCbaseList WSCbaseList* WSGIappObjectList() #includerinstance 是用于实例访问远程实例的虚拟远程实例。通过虚拟远程实例, 将远程实例对象名作为参数,可以如同访问普通对象实例一样,访问远程实例。//访问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"); 远程实例的类型转换
通过对象管理获得的虚拟远程实例,可以如同普通对象一样将其类型转换为基类, 从而使用基类的方法。在下面的例子中,为了调用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.."); }
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |