概念问题

at1998 2000-03-05 10:18:00
《powwerbuilder6.0程序设计大全》(机械工业出版社)里有一段讲到应用程序类对象,其中的话我不太明白,请高手指点迷津:

668页

另一类对框架包或类库有用的附加是一种抽象应用程序类,从这里用户可以对没一个应用程序继承。它允许用户对每个应用程序执行通用的处理,并且也提供一个存储全局变量的位置。……

此外还举了一个例子

u_n_application

以下是u_n_application 的实例变量

u_n_externals externals
Environment i_environment
Application i_application
windows i_window
String i_szApplication,i_szApplicationName,i_szINIFile

还有提供一个公共子例程:uf_setapplication()
//参数 application a_application
i_application = a_application

我想知道的是:
1、这个所谓的应用程序类对象 u_n_application是不是就是一个提供一些通用函数的定制类用户对象。它和PB的应用程序对象(即PB的application画板建立的对象,程序的入口)是种不不同的概念?此外,在一般的应用程序中可以有多少应用程序对象(application)呢?
2、我不太明白那句:"并且也提供一个存储全局变量的位置",是什么意思,如何声明这段话所指的全局变量呢?
...全文
179 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
929 2000-03-06
  • 打赏
  • 举报
回复
这个U_N_APPLICATION实际上只是一个提供应用程序级的函数及功能的封装。它可以把属于应用程序的一些功能包含在一个类中,实际上是一个用户对象。在一个程序中只能有一个应用程序实例。即我们用模板生成时产生的APPLICATION。
这里所说的“存储全局变量的一个位置”,我想应这样理解:
请注意u_n_application的声明,其中有一个实例变量是APPLICATION类型,并且提供了一个SET函数来实现对这个实例变量的赋值。这就是了,这所说的一个位置就是指这个APPLICATION类型的实例变量,由它在类用户对象U_N_APPLICATION的实例中获得实际应用程序的实例变量,即我们在生成程序时建立的应用程序变量。这样,就实现了一个封装。
应用这个类用户变量时可这样做:声明全局变量MY_U_APP为u_n_application类型,然后,在APPLICATON的OPEN事件中调用uf_setapplication() ,把这个应用程序变量传到这个类用户变量的实例变量i_application中去。这样,在以后的调用中我们可以应用这个类用户变量 MY_U_APP所提供的功能,包括它对外部函数的管理,环境的管理这些功能。
另外,这个用户对象是在用户对象画板中以CLASS中形式形成的,它是一个继承自NVO的对象,也就是说一个类对象。
at1998 2000-03-06
  • 打赏
  • 举报
回复
但是怎样继承一个applicaton对象?我指的是具体的做法。在userobject画板里似乎没有这个选择。当然在代码里是可以的。application my_app 但是你怎么为这个my_app声明全局的变量?
at1998 2000-03-06
  • 打赏
  • 举报
回复
为何没有反映?请高手不吝赐教……

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧