PFC的使用与探索(一)

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

数据库快速开发工具 PowerBuilder 从5.0版本开始提供了一套基础类库PFC(PowerBuilder Foundation Class),使得应用程序的开发速度又提高了一大步。由于PFC使用的不是很广泛,许多开发者对此还不是很了解。下面就我使用的过程中所得到的心得与遇到的问题,整理出来与大家共享与探讨。各位觉得有不合适的地方,希望批评指正。

PFC的帮助对各个独立服务、事件或者函数有一些实例代码,但是对于整体的使用几乎没有很全面地介绍。因此,我写这些东西,作为PFC帮助的一个辅助材料,大部分是在PFC帮助上没有的内容,是我使用PFC的过程中的总结与归纳。

PFC入门

首先,介绍一下如何创建一个简单的PFC应用程序。

构造一个简单的PFC程序框架

使用PFC,我们得先学会使用PFC构造一个简单的应用程序。我们可以根据PFC帮助提供的模式来构造我们的应用程序框架(参见PFC帮助的Overview 中的 For a quick start项),也可以查看PFC例程(Peat、Example等)仿造构造我们的应用程序。下面简单的陈述一下我通常使用PFC构造应用程序的步骤:

  1. 首先,创建一个空的应用程序,从对象n_cst_appmanager继承一个新的用户对象,命名为n_mdl_app;
  2. 其次,根据PFC帮助快速模型实例创建简单的应用程序框架,有所不同的是:应用程序服务,我使用刚才创建的用户对象n_mdl_app代替了n_cst_appmanager,
    设置n_mdl_app的相关事件的代码,可参见PFC例程的程序代码;
  3. 打开应用(Application)对象,更改部分属性及代码:
    • 在Additional Properties中,更改Variable Types 页中的3个变量(SQLCA->n_tr; Error->n_err; Message->n_msg)(参考PFC例程Peat)
    • 根据需要更改默认字体的类型及大小(由于我们开发的都是中文界面的应用程序,所有字体更改为“宋体 9pt”),根据需要更改应用程序的图标;
    • 根据需要更改其他的属性,比如:DisplayName, MicroHelpDefault, 等等;
    • 另外,我还需要更改应用对象的SystemError事件的代码,我使用的是逄新利编写的一个错误陷阱模块。
       
  4. 根据需要编写.Ini文件或者更改注册表项值。

好了,到此为止,一个PFC应用程序框架就完成了。试着运行一下,可以看到框架窗口的运行状态。

添加一个工作区窗口

应用程序框架窗口实现出来了,为了能够工作,我们还得有工作区窗口(Sheet)。

首相,随便创建一个Grid型的数据窗口对象,保存为d_demo1。然后从w_sheet窗口继承出来一个窗口对象,然后在这个窗口中放置一个用户对象u_dw(数据窗口的基础祖先对象)。该数据窗口控件的数据对象为刚才创建的数据窗口对象d_demo1。

在窗口的Open事件中编写如下代码:

 
 
// 开启Resize服务this.of_SetResize(True)//设置Resize服务的原始大小this.inv_Resize.of_SetOrigsize( dw_Demo.Width + dw_Demo.X * 2, dw_Demo.Height + dw_Demo.Y * 2 )//注册要实施Resize服务的控件及方法this.inv_Resize.of_Register(dw_Demo,this.inv_Resize.SCALERIGHTBOTTOM)//异步触发事件,利用消息路由发送消息。该消息是要检索数据this.Event Post PFC_MessageRouter(' PFC_Retrieve')

在数据窗口控件的Constructor事件中编写如下代码:

 
 
this.of_SetTransObject(SQLCA) <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值