| WideStudio Programming Guide | WideStudio Index Table of contents

> ## 访问对象

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

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

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

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub event_procedure {
>       my ($object) = @_;
>       #访问对象
>       $object->setProperty("labelString","HELLO WORLD");
>     }
>     1;

> object 变量保存客户对象，通过调用客户对象类相应的API操作该对象。

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

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

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

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

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub event_procedure {
>       my ($object) = @_;

>       # 通过对象管理获得实例(其一)
>       $obj = mpfc::WSGIappObjectList()->getInstance(
>                    "WSCvlabel",       # 标签类
>                    "newvlab_001");    # 对象名称：newvlab_001

>       # 访问相应的标签对象
>       $obj->setProperty("labelString","HELLO WORLD");

>       # 通过对象管理获得实例(其二)
>       $obj2 = mpfc::WSGIappObjectList()->getInstance(
>                    "WSCbase",      # 不指定特定的类
>                    "newvlab_002"); # 对象名称：newvlab_002

>       # 访问相应的标签对象
>       $obj2->setProperty("labelString","HELLO WORLD");
>     }
>     1;

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

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

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

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     user mpfc;

>     sub event_procedure {
>       my ($object) = @_;
>       # 直接访问 newvlab_001 对象
>       $newvlab_001->setProperty("labelString","HELLO WORLD");
>     }
>     1;

Document Release 3.70 for WideStudio ver 3.70, May 2004

WideStudio documents index | Table of contents

Copyright(C) WideStudio Development Team, 1999-2004 | Last modified: May 25, 2004