WideStudio Programming Guide

| WideStudio Programming Guide | WideStudio Index Table of contents

> ## 访问对象

> 在事件过程中访问对象是最基本的功能。不同场合下使用的访问对象的方法如下所示。
> - 通过向事件过程函数传递的参数访问对象
>   访问被粘贴在事件过程中的对象时使用该方法。
> - 通过对象管理访问对象
>   访问未被粘贴在事件过程中的对象时使用该方法。
> - 通过外部变量直接访问对象
>   访问未被粘贴在事件过程中的对象时使用该方法。 使用该方法将会降低事件过程的可移植性。

> ### 通过向事件过程函数传递的参数访问对象

> 通过传递给事件过程函数的参数，可以访问被粘贴在事件过程中的对象。

>     void event_procedure(WSCbase* object){
>       //访问对象
>       object->setProperty(WSNlabelString,"HELLO WORLD");
>     }

> object 是指向WSCbase类的指针。通过该指针可以调用WSCbase类的API。 如果需要使用WSCbase类的派生类的API，请参考获得类指针的相关内容。

> ### 通过对象管理访问对象

> 通过对象管理可以获得所需的对象。与下文所描述通过外部变量访问对象的方法相比更灵活。

> 对象管理类 | 获取实例函数
> WSCbaseList | WSCbaseList* WSGIappObjectList()

> 获取对象的步骤如下所示。

>     #include  //通过WSGIappObjectList() 访问
>     ...
>     void event_procedure(WSCbase* object){

>       //通过对象管理获得WSCbase型指针(其一)
>       char* class_name = "WSCvlabel"; //指定检索目标类为标签类
>       char* obj_name   = "newvlab_001";     //对象名称：newvlab_001
>       WSCbase* obj = WSGIappObjectList()->getInstance(class_name,obj_name);

>       // 通过WSCbase*指针访问相应的标签对象
>       obj->setProperty(WSNlabelString,"HELLO WORLD");

>       //通过对象管理获得WSCbase型指针(其二)
>       char* class_name2 = "WSCbase";  //不指定特定的检索目标类
>       char* obj_name2   = "newvlab_002";     //对象名称：newvlab_002
>       WSCbase* obj2 = WSGIappObjectList()->getInstance(class_name2,obj_name2);

>       //通过WSCbase*指针访问相应的标签对象
>       obj2->setProperty(WSNlabelString,"HELLO WORLD");
>     }

> 通过指定类名称和对象名称参数，可以访问所需的obj 或 obj2 对象。 如果将类名称指定为"WSCbase"，将检索所有对象。

> ### 通过外部变量直接访问对象

> 通过声明外部变量，可以实现通过外部变量直接访问对象。 关于外部变量的定义，请参考应用程序生成器用户手册的“外部变量对象”章节。

>     #include  //由于直接访问WSCvlabel类，加入相应的头文件。
>     ...
>     void event_procedure(WSCbase* object){
>       //声明外部变量
>       extern WSCvlabel* newvlab_001;

>       //访问WSCvlabel类的对象： newvlab_001
>       newvlab_001->setProperty(WSNlabelString,"HELLO WORLD");
>     }

Document Release 3.70 for WideStudio ver 3.70, Feb 2004

WideStudio documents index | Table of contents

Copyright(C) T. Hirabayashi, 2000-2004 | Last modified: Feb 25, 2004