目 录 3
第一篇利用PowerBuilder的基础类库建立应用 3
第1章概述 3
1.1基础类库与PowerBuilder 3
1.1.1 了解基础类库(PFC) 3
1.1.2了解PowerBuilder 7
1.2基础类库的面向对象特点 8
1.2.1继承 9
1.2.2封装 10
1.2.3多态性 10
1.3基础类库的扩展层结构及其特性 10
1.4基础类库的部件 11
1.4.1 PFC基础类库的库结构及其存放位置 12
1.4.2 PFC部件简介 14
本章小结 15
2.2.1创建中间扩展层 16
2.2选择扩展策略 16
第2章设计PFC类库 16
2.1利用PFC设计类库 16
2.2.2使用已有的PFC扩展层 18
2.3定义一个新的服务 19
2.3.1如何定义一个配套的服务(associative service) 19
2.3.2 如何定义一个综合的服务(aggregateservice) 20
2.4库扩展器 21
本章小结 21
3.1.1建立应用管理器 23
第3章PFC的编程技术 23
3.1 PFC编程基础 23
3.1.2应用的创建 25
3.1.3属性对象(attribute object)的使用 27
3.1.4 PFC中的常量 28
3.1.5消息路由(Message Router) 28
3.1.6 PFC的事务对象管理 30
3.1.7调用祖先层的函数和事件 30
3.1.9安装PFC的升级版 31
3.1.8为应用程序增加联机帮助 31
3.2使用PFC提供的服务 32
3.2.1 应用服务 32
3.2.2窗口服务 34
3.2.3数据窗口服务 35
3.3使用PFC可视化控件 39
3.3.1使用基础的控制功能 39
3.3.2使用高级的控制功能 41
3.3.3定制可视用户对象的使用 48
3.4使用PFC窗口和菜单 62
3.4.1使用PFC窗口 62
3.4.2使用PFC菜单 64
3.5 PFC实用工具 67
3.5.1 数据窗口的属性控制工具 67
3.5.2 SQL监测工具(SQL SPY) 70
3.5.3安全管理(Security) 71
3.6.2使用PFC的DLL动态链接库文件 78
3.6.1选择分发策略 78
3.6分发一个PFC应用 78
3.6.3使用PFC的PSR资源文件 79
3.6.4配置数据库 79
3.6.5配置PFC对话窗口的帮助文件 79
本章小结 80
第4章PFC实例 81
4.1修改应用对象 81
4.1.1更新库的搜索路径 81
4.1.2使用n_tr对象与SQLCA事务对象建立通信 83
4.1.3创建应用管理器 84
4.1.4定义全局变量并查看事件 86
4.2创建一个框架(frame)窗口 87
4.2.1通过继承w_frame创建一个后代frame窗口 88
4.2.2添加代码,打开sheet窗口 88
4.2.3定义pfc_Preopen和pfc_posopen事件的处理程序 90
4.2.4修改应用管理器 90
4.2.5运行应用程序 91
4.3创建菜单 92
4.3.1创建一个后代窗口 92
4.3.2增加和修改菜单项 93
4.3.3创建一个frame菜单 97
4.3.4将菜单链接到frame窗口上 98
4.3.5为sheet窗口w_produces创建一个菜单 100
4.3.6为sheet窗口w_produce_report创建一个菜单 101
4.4.1通过继承w_sheet创建一个后代sheet窗口 102
4.4建立第一个sheet窗口 102
4.4.2增加一个数据窗口控件 104
4.4.3激活数据窗口服务 106
4.4.4检索数据行 107
4.4.5运行应用程序 107
4.5建立第二个sheet窗口 111
4.5.1通过继承w_sheet创建一个后代sheet窗口 111
4.5.2增加一个数据窗口控件 113
4.5.5运行应用程序 116
4.5.3激活报表和打印预览服务 116
4.5.4检索数据行 116
本章小结 118
第二篇构造C++类 121
第5章C++类构造器概述 121
5.1 C++类构造器简介 121
5.1.1 C++和PowerBuilder 121
5.1.2 C++Class Builder 121
5.2 DLL及其部件 122
5.2.1什么是DLL 122
5.2.2 DLL部件 123
5.3内存模型 124
5.3.1代码模型 124
5.3.2数据模型 124
本章小节 125
6.1创建C++源代码的方法 126
6.1.1建立用户对象 126
第6章创建C++源代码 126
6.1.2声明用户对象函数 127
6.1.3定义变量 129
6.1.4生成C++源代码 130
6.1.5错误处理 131
6.2 C++文件 131
6.3 C/C++编程须知 132
6.3.1继承和函数重载 132
6.3.2保留字 133
6.3.3 PowerBuilder和C++中相似的数据类型 134
本章小结 135
第7章编译和链接C++类 136
7.1 IDE概述 136
7.2使用IDE 137
7.2.1 简介 137
7.2.2编辑C++源代码 138
7.2.3编译和链接DLL 140
7.3 Watcom调试器 142
7.3.1 Watcom Debugger特点 143
7.3.2 Watcom Debugger菜单项简介 144
本章小结 146
第8章示例程序 147
8.1介绍 147
8.2 C++代码 148
8.2.1类层次 148
8.2.2 C++源代码 149
本章小结 160
第三篇 利用版本控制系统进行团队开发 163
第9章版本控制系统概述 163
9.1版本控制系统简介 163
9.1.1版本控制系统(源代码控制系统) 163
9.1.2 PowerBuilder库 163
9.1.3版本及版本标签 163
9.1.4版本控制接口(version control interfaces) 164
9.1.5使用版本控制系统 165
9.3使用PowerBuilderSCC API管理版本控制 166
9.2.2为其他版本控制接口设置环境 166
9.3.1版本控制功能 166
9.2.1为PowerBuilder SCC API设置环境 166
9.2设置环境 166
9.3.2设置PowerBuilderSCC API 167
9.3.3使用PowerBuilderSCC API 169
本章小结 173
第10章使用ObjectCycle进行版本控制 174
10.1 ObjectCycle简介 174
10.1.1什么是ObjectCycle 174
10.1.2 ObjectCycle接口简介 175
10.2软件安装 175
10.2.1安装配置Windows3.11客户机 176
10.2.2准备安装ObjectCycle Server 176
10.2.3安装ObjectCycle Server软件 177
10.2.4安装ObjectCycle Manager 177
10.3设置开发项目 177
10.4.1 初次在PowerBuilder中链接ObjectCycle 178
10.4链接到ObiectCycle 178
10.4.2建立并保存配置文件 179
10.5定义项目节点 180
10.6创建工作库 181
10.6.1创建工作库 181
10.6.2向库搜索路径中追加工作库 182
10.7注册PowerBuilder对象 183
10.7.1注册对象 183
10.7.3撤消对象的注册 184
10.7.2列表显示注册对象 184
10.7.4打开已注册对象的只读版本 185
10.8 ObjectCycle中对象的检入和检出 185
10.8.1 ObjectCycle中对象的检出 185
10.8.2 ObjectCycle中对象的检入 187
10.9创建一个新版本 188
10.9.1为新文档建立选项 188
10.9.2指定一个开始版本号 188
10.9.3创建版本 189
10.10.1为一组对象指定版本标签 190
10.10使用版本标签 190
10.10.2用版本标签筛选版本列表 191
10.10.3取消筛选 191
10.10.4构建项目时指定版本标签 192
10.11查看对象的版本历史 192
10.12显示报表 193
10.12.1显示文档报表 193
10.12.2显示版本报表 194
10.13.1决定恢复哪个版本 195
10.13.2恢复早期版本 195
10.13恢复早期版本对象 195
10.12.3将一个报表复制到一个文件中 195
10.13.3用版本标签恢复版本 196
10.14恢复库 196
10.14.1在项目中列表显示出对象 196
10.14.2恢复库的方法 197
10.14.3从ObjectCycle中检索项目对象 198
10.15.2同步化所作的工作 200
10.15.1同步化的时机 200
10.15使对象同步化 200
10.14.4用新名称保存对象 200
本章小结 201
第11章使用PVCS进行版本控制 202
11.1 PVCS简介 202
11.1.1 设置PVCS接口概述 202
11.1.2源代码控制活动概述 202
11.2.3指定一个配置文件 203
11.2.2首次链接到PVCS 203
11.2.1确认安装 203
11.2配置PVCS接口 203
11.2.4创建工作库 205
11.2.5注册对象 206
11.2.6查看已注册对象的列表 208
11.2.7清除对象的注册状态 208
11.3 PVCS对象的检入和检出 209
11.3.1检出对象 209
11.3.2修改对象 210
11.3.3检入对象 211
11.4.1 为一组对象指定一个版本标签 212
11.4使用版本标签 212
11.4.2使用版本标签筛选版本列表 213
11.4.3使用版本标签检索版本 213
11.5创建新的版本 213
11.6查看对象的变化历史 215
11.7.1查看或打印一个版本报表 216
11.7.2查看或打印一个文档报表 216
11.7查看和打印报表 216
11.8恢复对象的早期版本 217
11.8.1决定恢复哪个版本级别 218
11.8.2进行恢复 218
11.9恢复库 219
11.9.1在一个项目中查看对象的列表 219
11.9.2恢复库的两种方法 220
11.10使对象同步变化 222
本章小结 223
12.2使用发射平台 227
12.1简介 227
第四篇 PowerBuilder高级开发工具 227
第12章概述 227
本章小结 229
第13章Cross Reference 230
13.1 Cross Reference简介 230
13.2便用Cross Reference 231
13.2.1设置Cross Reference的工作参数 231
13.2.2运行Cross Reference 233
13.2.3分析Cross Reference报表 235
13.3 Cross Reference数据库 237
13.3.1 App_classes表 237
13.3.2 App_info表 237
13.3.3 Xref_info表 238
本章小结 238
第14章Data Window Extended Attribute Synchronizer 239
14.1概述 239
14.2.1设置工作参数 240
14.2使用DWEAS 240
14.2.2运行DWEAS 241
14.2.3分析DWEAS报表 243
本章小结 245
第15 章 DataWindow SQL Verifier 246
15.1简介 246
15.2使用DataWindow SQL Verifier 247
15.2.1设置工作参数 247
15.2.2运行DataWindow SQL Verifier 249
15.2.3分析报表 251
本章小结 252
第16章PowerBuilder Extended Attribute Reporter 253
16.1简介 253
16.2使用PEAR 254
16.2.1设置DBMS链接参数 254
16.2.2运行PEAR 255
16.2.3查看PEAR报表 255
16.2.4设置数据库参数的缺省值 257
本章小结 258
第17章Stored Procedure Update 259
17.1简介 259
17.1.1为什么要使用存储过程 259
17.1.2 Stored Procedure Update的工作方式 259
17.2使用Stored Procedure Update 261
17.2.1设置DBMS链接参数 261
17.2.2运行Stored Procedure Update 264
本章小结 272
17.2.3更新数据窗口的SQLPreview事件 272
第18章Object Search 273
18.1简介 273
18.2使用Object Search 274
18.2.1运行Object Search 274
18.2.2查看Object Search报表 276
18.2.3设置库选择参数 277
本章小结 278
附录C++源代码 279