PFC的使用与探索(一)
来源:互联网 发布:学会电脑打字的软件 编辑:程序博客网 时间:2024/04/29 09:22
数据库快速开发工具 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构造应用程序的步骤:
- 首先,创建一个空的应用程序,从对象n_cst_appmanager继承一个新的用户对象,命名为n_mdl_app;
- 其次,根据PFC帮助快速模型实例创建简单的应用程序框架,有所不同的是:应用程序服务,我使用刚才创建的用户对象n_mdl_app代替了n_cst_appmanager,
设置n_mdl_app的相关事件的代码,可参见PFC例程的程序代码; - 打开应用(Application)对象,更改部分属性及代码:
- 在Additional Properties中,更改Variable Types 页中的3个变量(SQLCA->n_tr; Error->n_err; Message->n_msg)(参考PFC例程Peat)
- 根据需要更改默认字体的类型及大小(由于我们开发的都是中文界面的应用程序,所有字体更改为“宋体 9pt”),根据需要更改应用程序的图标;
- 根据需要更改其他的属性,比如:DisplayName, MicroHelpDefault, 等等;
- 另外,我还需要更改应用对象的SystemError事件的代码,我使用的是逄新利编写的一个错误陷阱模块。
- 根据需要编写.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"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- PFC的使用与探索(一)
- PFC的使用与探索(一)
- PFC的使用与探索(一)
- PFC的使用与探索(一)
- PB 5中PFC的使用
- PB 5中PFC的使用
- Linux间隔定时器的使用 探索一
- Glide使用探索(一)
- Android数据过滤器Filter探索之使用与改造(一)
- 主动式PFC与被动式FPC浅析
- 软件测试自动化的探索与管理(一)
- Android WebView探索 一、Naive与WebView的互相调用
- Retrofit2 完全解析 探索与okhttp之间的关系(一)
- pfc对于pb的mis开发非常重要。
- PFC的数据类型及命名规则
- PFC的数据类型及命名规则
- 无桥PFC的优势及解决方案
- 关于Android中使用SVG特性的探索与总结
- webservice系列教学(11)-如何调用webservice(vc2)
- 小写转大写金额
- ASP.NET: SQL DAL Helper
- Google的技术剖析:创始人Sergey Brin 和 Lawrence Pa
- Retrieving Environmental Details using VB.NET
- PFC的使用与探索(一)
- 佳文推荐:运用VB.NET的面向对象的特征
- 程序员的生命
- .NET Framework 之 Common Language Runtime
- 给你个例子[.NET中三层构架开发实例 - 用户注册系统]
- ASP.NET 开发聊天室程序(英文)
- asp.net高级教程(续)
- 触发器介绍
- 用C#去除代码的SourceSafe管理