1.1.1 32位开发环境 1
1.1.2 集体开发 1
目录 1
第1部分 客户/服务器的概念、结构和方法学 1
第1章 Visual Basic企业版 1
1.1 关键的三级VB4企业版特性 1
1.1.6 可扩展的集成开发环境 2
1.1.5 高性能的DBMS数据访问 2
1.1.3 商业规则封装 2
1.1.4 发布构件 2
1.2 开放的、基于构件的分布式解决方案 3
1.3.2 商业服务 4
1.3.1 用户服务 4
1.3 企业解决方案的三级模型 4
1.5 本章小结 5
1.4 为何使用服务模型? 5
1.3.3 数据服务 5
2.2 什么是客户/服务器 7
2.1 应用程序结构 7
第2章 应用程序结构 7
2.3 集中式处理结构 8
2.5 大多数人对客户/服务器的理解 9
2.4 文件服务器结构 9
2.5.1 客户/服务器的优势 10
2.5.2 基于文件与基于服务器 11
2.7.1 难于管理前端的增强功能 12
2.7 两级应用程序的局限性 12
2.6 典型的两级客户/服务器应用程序的划分 12
2.7.3 难于保证安全性 13
2.7.2 难于共享公用过程 13
2.7.6 无商业处理引擎 14
2.7.5 商业模型:隐藏在前端代码和后端设计之后 14
2.7.4 用户必须使用MIS应用程序 14
2.8.1 服务模型 15
2.8 三级和N级结构——服务模型 15
2.8.2 构件构成的服务 16
2.8.4 商业服务 17
2.8.3 客户应用程序 17
2.8.5 数据服务 18
2.10.1 可管理的系统增强功能 19
2.10 三级结构的优点 19
2.8.6 进程通信 19
2.9 一个概念性例子 19
2.10.2 可共享的商业服务器 20
2.10.4 用户可创建他们自己的客户应用程序 21
2.10.3 可保证安全的商业对象和过程 21
2.10.6 商业过程引擎有一级 22
2.10.5 商业模型有它自己的一级 22
2.11 分布式系统已成为可能 23
2.12 OLE:功能强大的通信机 24
2.13.2 不必每一级都是Visual Basic 25
2.13.1 精心设计的系统有竞争优势 25
2.13 三级结构与Visual Basic企业版 25
2.14.4 Visual Basic具有高性能的数据服务器支持 26
2.14.3 Visual Basic可开发32位应用程序 26
2.14 为何采用Visual Basic 26
2.14.1 Visual Basic可创建OLE自动化服务器 26
2.14.2 Visual Basic中包括了远程自动化功能 26
2.17 VB不仅仅是三级结构 27
2.16 三级结构只是一种原则,不是必需的 27
2.15 其它三级结构产品 27
2.18 本章小结 28
3.1.1 为何要学习OLE 29
3.1 OLE是什么 29
第3章 了解OLE 29
3.1.3 缩略语 30
3.1.2 OLE与传统的API 30
3.3 构件对象模型 31
3.2 OLE的历史 31
3.5 OLE对象 32
3.4 其它对象模型 32
3.5.3 对象出错处理 33
3.5.2 对象管理 33
3.5.1 过程内与过程外 33
3.6 OLE服务 34
3.6.2 结构化存储 36
3.6.1 编组 36
3.6.7 链接 37
3.6.6 OLE文档 37
3.6.3 标记 37
3.6.4 一致性的数据传输方式 37
3.6.5 拖放式操作 37
3.6.9 原地激活 38
3.6.8 嵌入 38
3.6.10 OLE自动化服务器 39
3.6.12 分布式对象构件模型 41
3.6.11 OLE控件 41
3.6.13 Nile(尼罗河) 43
3.8 Visual Basic 4和OLE 44
3.7 COM服务支持 44
3.8.2 控制OLE自动化对象 45
3.8.1 控制OLE控件 45
3.9 OLE的未来 46
3.8.4 创建OLE自动化对象 46
3.8.3 控制OLE文档 46
3.10 本章小结 47
4.1.1 程序设计模型转换 48
4.1 Visual Basic对象应用程序 48
第4章 Visual Basic应用程序结构 48
4.2.1 OLE控件 49
4.2 控制OLE对象 49
4.1.2 面向对象的程序设计技术 49
4.2.3 OLE文档 50
4.2.2 OLE自动化服务器 50
4.3 创建OLE对象 51
4.4 管理OLE对象 52
4.5 将所有的服务集中在一起 53
4.6 用户服务 54
4.7.1 商业服务器设计 55
4.7 商业服务 55
4.7.2 商业服务器展开 57
4.7.3 批处理 59
4.7.4 访问数据服务 60
4.8 数据服务 62
4.9 Visual Basic库 63
4.10.1 操作系统 64
4.10 物理设计 64
4.11.2 商业服务 65
4.11.1 用户服务 65
4.11 服务的推广应用 65
4.11.4 物理推广的例子 66
4.11.3 数据服务 66
4.12 三级安全性结构 67
4.13 组织系统开发 68
4.14 本章小结 69
5.1 OLE对象概述 70
第5章 控制OLE对象 70
第2部分 OLE 70
5.1.2 选择通信方法 71
5.1.1 Visual Basic可以控制的对象 71
5.2.3 对象事件 72
5.2.2 对象方法 72
5.2 了解OLE对象接口 72
5.2.1 对象属性 72
5.2.6 使用对象接口 73
5.2.5 对象集合 73
5.2.4 成员和从属对象 73
5.3.1 实例化OLE控件 74
5.3 控制OLE控件 74
5.3.2 操纵OLE控件的属性 75
5.3.3 用OLE控件的方法完成动作 76
5.3.4 使用OLE控制事件 77
5.3.5 使用成员对象 78
5.3.6 使用OLE控件的集合对象 79
5.3.7 使用OLE控制载体属性 81
5.4 控制OLE自动化对象 82
5.3.8 释放OLE控件使用的资源 82
5.4.1 实例化OLE自动化对象 83
5.4.3 使用自动化对象的属性和方法 86
5.4.2 访问自动化对象的接口 86
5.4.4 使用OLE自动化对象的成员对象 87
5.4.6 响应繁忙的OLE服务器 89
5.4.5 使用OLE自动化对象的集合 89
5.4.7 释放资源 90
5.5.2 嵌入对象 91
5.5.1 链接对象 91
5.5 控制OLE文档 91
5.5.4 准备OLE载体控件 92
5.5.3 创建OLE文档 92
5.5.5 设计时刻创建对象 93
5.5.6 运行时刻创建对象 95
5.5.7 在运行时刻创建嵌入对象 96
5.5.8 把频繁使用的OLE文档放入工具箱 97
5.5.10 使用OLE文档的成员对象 98
5.5.9 操纵复合文档的方法和属性 98
5.5.12 保存对象的数据 99
5.5.11 使用OLE文档的集合对象 99
5.5.14 创建链接对象时的几点考虑 100
5.5.13 释放OLE文档对象 100
5.6.1 With…End语句 101
5.6 对对象执行多种操作 101
5.6.2 使用Foe Each…Next语句 102
5.7.1 了解对象浏览器接口 103
5.7 使用对象浏览器 103
5.8 本章小结 104
5.7.3 用其它对象库 104
5.7.2 把属性和方法粘贴到代码中 104
6.1.2 OLE自动化服务器的好处 105
6.1.1 定义 105
第6章 创建OLE对象 105
6.1 什么是OLE自动化服务器 105
6.2.2 标识对象接口 106
6.2.1 定义对象和层次 106
6.2 设计OLE自动化服务器 106
6.3.1 工程设置 108
6.3 开发OLE对象 108
6.2.3 对象设计工具 108
6.3.2 类模块 110
6.3.3 窗体 111
6.3.4 创建属性 112
6.3.6 建立方法 114
6.3.5 从属对象 114
6.3.7 公共函数与属性过程 115
6.3.8 创建集合 116
6.3.9 出错处理 117
6.4.1 命名约定 118
6.4 OLE服务器设计标准 118
6.4.2 对象标准 119
6.4.4 方法 120
6.4.3 属性 120
6.4.5 避免循环引用 121
6.5.2 测试客户样本 122
6.5.1 设计测试客户 122
6.5 创建一个测试应用程序 122
6.6.2 在错误处设置断点 125
6.6.1 使用Visual Basic的多个实例 125
6.6 调试OLE服务器应用程序 125
6.7.1 兼容EXE 126
6.7 Visaul Basic开发环境 126
6.7.2 版本的确定 128
6.7.4 运行时刻文件 129
6.7.3 临时记录 129
6.8.1 DLL OLE部件与EXE OLE部件 130
6.8 Visual Basic结构 130
6.8.2 实例化 131
6.8.4 使得OLE服务器应用程序ObjectBrowser友好 132
6.8.3 DoEvents 132
6.9 实现异步处理 133
6.9.1 实现回调 134
6.10 本章小结 135
6.9.2 轮询 135
7.1.1 登记表配置文件 136
7.1 登记表和OLE 136
第7章 管理OLE对象 136
7.1.3 登记对象 137
7.1.2 浏览OLE登记表项 137
7.2.1 登记表编辑器简介 138
7.2 登记表编辑器 138
7.2.2 修改关键字及值 139
7.2.3 输入和输出登记表项 140
7.2.4 备份和恢复登记表 141
7.2.6 Windows 3.x 142
7.2.5 Windows NT 142
7.3.1 使用构件管理器的原因 143
7.3 构件管理器 143
7.3.2 浏览构件 144
7.3.3 安装构件 150
7.3.4 修改构件 152
7.3.5 修改构件目录 153
7.4 远程自动化 155
7.4.1 揭开远程自动化的奥秘 156
7.4.2 有关远程自动化的性能问题 157
7.5 远程自动化连接管理器 159
7.4.3 自动化管理器 159
7.5.2 客户访问 160
7.5.1 服务器连接 160
7.7 登记OLE对象的其他方法 162
7.6 客户登记实用程序 162
7.8.3 第3步:本地测试 163
7.8.2 第2步:登记构件 163
7.8 远程自动化的调试 163
7.8.1 第1步:注销构件 163
7.9 Internet 164
7.8.6 第6步:远程测试 164
7.8.4 第4步:为远程自动化配置服务器工作站 164
7.8.5 第5步:为远程自动化配置客户工作站 164
7.11 本章小结 165
7.10 RegClean 165
8.2 提供一个表示层 166
8.1 客户应用程序的位置 166
第3部分 分级服务的层次 166
第8章 第一级结构:客户应用程序 166
8.3 用户驱动的设计 167
8.5 编写客户应用程序 168
8.4 开发一个核心应用程序 168
8.6 挑选一个控制应用程序 169
8.5.2 第2号测试:允许最终用户创建应用程序 169
8.5.1 第1号测试:创建一个不加入商业逻辑的新应用程序 169
8.7.1 条件编译 170
8.7 选择16位或32位客户应用程序 170
8.8.4 抢先多任务 172
8.8.3 稳定性更高 172
8.8 32位应用程序的优点 172
8.8.1 提高了执行速度 172
8.8.2 更好的资源管理 172
8.10 访问其他用户服务 173
8.9 推荐使用32位代码 173
8.10.1 OLE自定义控件 174
8.10.2 OLE自动化服务器 177
8.10.4 DLL(动态链接库) 178
8.10.3 OLE文档 178
8.11 从客户应用程序中访问商业服务 179
8.12.1 创建MDI应用程序 181
8.12 创建图形界面 181
8.12.2 创建SDI应用程序 184
8.12.3 合并菜单和工具栏 190
8.13 控制Windows 95下的系统设置 191
8.12.4 选择边框尺寸及控制方式 191
8.13.1 外观 192
8.14 实现过程中的编码原则 193
8.13.2 背景色和前景色 193
8.15.2 步骤2:应用程序设计 194
8.15.1 步骤1:收集需求 194
8.15 开发客户应用程序的途径 194
8.16 使用非Visual Basic客户应用程序 195
8.15.5 步骤5:改进应用程序 195
8.15.3 步骤3:给出应用程序第一个原型 195
8.15.4 步骤4:收集用户反馈 195
8.17 本章小结 197
9.1.1 商业对象类型 198
9.1 什么是商业对象 198
第9章 第二结构:商业服务器 198
9.1.3 商业对象的优点 199
9.1.2 了解商业的粒度 199
9.2.2 交互式商业服务器 201
9.2.1 批处理商业系统 201
9.2 商业服务的类型 201
9.3.1 模型化商业服务器 202
9.3 设计商业服务器 202
9.3.2 封装商业规则 204
9.3.4 属性 205
9.3.3 方法 205
9.4.1 开发测试应用程序 206
9.4 开发商业服务器 206
9.4.3 对象之间怎样交互作用 208
9.4.2 构件的大小 208
9.4.4 数据服务操作 209
9.5.1 创建应用程序对象 212
9.5 商业服务器开发技术 212
9.5.3 出错处理 215
9.5.2 创建独立商业服务器对象 215
9.6.1 最小化OLE调用 217
9.6 商业服务器性能调整 217
9.6.2 内存考虑 221
9.7.2 实例管理程序 222
9.7.1 TP监视程序 222
9.7 管理连接 222
9.8.1 物理推广 223
9.8 推广商业服务 223
9.9 本章小结 224
9.8.2 安全性 224
10.1.1 数据库术语说明 225
10.1 DBMS数据服务 225
第10章 第三级结构:数据服务器 225
10.1.3 设计数据库 226
10.1.2 关系数据库模型 226
10.1.4 实现设计 229
10.1.5 使用SQL访问数据库 234
10.2.2 基于主机的事务访问 239
10.2.1 基于主机的数据访问 239
10.2 主机和大型机 239
10.3.1 查询系统、报表系统、执行信息系统以及决策支持系统 241
10.3 信息访问系统 241
10.3.2 数据仓储 243
10.3.3 三级结构和信息访问 244
10.4 消息传递 245
10.3.4 三级结构报表 245
10.4.3 工作流 246
10.4.2 构件 246
10.4.1 电子邮件 246
10.6 图像应用 247
10.5 Internet 247
10.8 本章小结 248
10.7 电话应用 248
11.1.1 数据访问准则 249
11.1 选择合适的数据访问方法 249
第4部分 高级应用程序技术 249
第11章 远程服务对象 249
11.1.2 几种流行的数据访问方法 250
11.2.1 ODBC结构概述 252
11.2 开放数据库连接 252
11.2.2 设置ODBC的数据源 254
11.3 远程数据对象介绍 256
11.3.1 RDO的特性 256
11.3.2 RDO对象模块 257
11.3.3 通过RDO进行连接 258
11.3.4 访问数据 262
11.3.5 使用存储过程 267
11.3.6 光标 269
11.3.7 事务处理 270
11.3.9 出错处理 273
11.3.8 异步查询 273
11.4 本章小结 274
12.1.1 创建一个函数的接口 275
12.1 创建一个“黑匣子”函数 275
第12章 高级编码技术 275
12.1.4 发布一个黑匣子函数 276
12.1.3 为什么不使用OLE对象 276
12.1.2 “黑匣子”函数所扮演的角色 276
12.2.1 创建自定义的方法和属性 277
12.2 使用Visual Basic窗体作为对象 277
12.2.4 使用Initialize事件和Terminate事件 278
12.2.3 内存考虑 278
12.2.2 用Property Get,Let和Set来创建自定义的属性 278
12.3.1 将OLE文档存入数据库 279
12.3 从数据库中读取或往数据库里写入OLE文档 279
12.2.5 在代码中使用自定义的属性和方法 279
12.3.2 从数据库中读取OLE文档 284
12.3.3 封装读/写函数 287
12.4.1 使用用户定义的数据类型 289
12.4 使用对象集合代替用户定义的数据类型数组 289
12.4.2 使用对象 290
12.4.3 使用对象集合 291
12.5.1 给用户事件提供处理器时间 293
12.5 使用DoEvents()函数 293
12.5.2 确定外挂处理的终止时间 294
12.5.3 DoEvents()函数的限制 295
12.6.1 创建多进程应用程序的方法 296
12.6 创建多线程应用程序 296
12.6.2 OLE回调 297
12.6.3 轮询 300
12.7 本章小结 304
13.1.2 两级环境中的安全性 306
13.1.1 集中式环境中的安全性 306
第13章 安全性设计 306
13.1 传统安全性结构 306
13.2.2 构造所有应用程序服务的安全性 307
13.2.1 将安全性作为管理任务 307
13.2 安全性结构的目的 307
13.3 NT安全性模型 308
13.2.3 使用操作系统的安全性特性 308
13.3.1 使用Windows NT模仿 309
13.4.1 Remote Automation Connection Manag-er 310
13.4 安全性和远程自动化 310
13.5 安全性和分布式构件对象模型 312
13.6 目前可使用的安全性特性 313
13.7.1 在哪一级实施安全性 314
13.7 安全性模型 314
13.7.2 登录管理器 315
13.8 构造构件的安全性 318
13.9 本章小结 323
14.2.1 创建出错句柄 324
14.2 在Visual Basic中处理出错 324
第14章 出错处理结构 324
14.1 要处理的出错类型 324
14.2.2 使用On Error Goto语句 326
14.3 在过程内处理出错 327
14.2.3 使用Resume语句 327
14.4.2 Err对象的属性 330
14.4.1 Err对象的方法 330
14.4 Visual Basic出错对象 330
14.5 嵌入式出错处理 331
14.4.3 Visual Basic出错函数 331
14.5.1 使用函数的返回值 332
14.5.3 返回变量 333
14.5.2 Visual Basic异常处理 333
14.6.1 最终用户通报 334
14.6 在客户应用程序中处理出错 334
14.6.3 关闭被引用的对象应用程序 335
14.6.2 得体的应用程序恢复 335
14.6.4 关闭应用程序 336
14.7 在OLE服务器应用程序中处理出错 337
14.7.1 与对象有关的运行时出错 338
14.7.3 返回商业出错 339
14.7.2 从被引用的对象获取OLE Automation出错 339
14.7.5 可重用的代码:出错登录类 340
14.7.4 处理致命性出错 340
14.8 本章小结 341
15.1 联机帮助系统的组成元素 342
第15章 在应用程序中添加帮助 342
15.2.1 利用Windows 95中新的帮助特性 343
15.2 创建帮助文件 343
15.3 设计帮助文件 345
15.2.2 创建帮助文件需要的工具 345
15.3.2 设计帮助系统目录 346
15.3.1 理解观众 346
15.3.3 选择帮助类别 347
15.3.4 样本帮助类别 348
15.4 选择帮助主题 349
15.4.2 选择帮助搜寻准则 350
15.4.1 建立主题层次 350
15.4.3 帮助浏览顺序 351
15.6 编译帮助文件 352
15.5 添加上下文关联的帮助 352
15.7.1 创建帮助菜单 353
15.7 准备访同帮助的应用程序 353
15.7.3 让应用程序能执行WinHelp 355
15.7.2 指定帮助文件 355
15.7.5 向OLE自动化服务器添加帮助 358
15.7.4 实现上下文关联的帮助 358
15.7.6 添加“What's This”帮助 359
15.8.2 帮助其他开发者理解代码 360
15.8.1 为何要注释代码 360
15.8 注释代码 360
15.8.6 理解观众 361
15.8.5 内嵌注释:另一种帮助工具 361
15.8.3 帮助自己设计效率高的代码 361
15.8.4 注释不影响可执行文件的大小 361
15.9.2 注释过程和函数 362
15.9.1 注释标准的好处 362
15.9 注释技术 362
15.9.5 注释对代码的更新 363
15.9.4 注释变量说明 363
15.9.3 注释“If..End If”结构 363
15.10 本章小结 364
15.9.7 注释应是说明性的 364
15.9.6 哪些内容不应注释 364
16.2 选择发布方法 366
16.1 定义应用程序的构件 366
第16章 发布应用程序 366
16.3.1 步骤1:选择Visual Basic工程文件 367
16.3 使用Visual Basic SetupWizard 367
16.3.3 步骤3:为安装应用程序选择目的盘 368
16.3.2 步骤2:选择数据访问引擎 368
16.3.4 步骤4:选择OLE服务器 369
16.3.6 步骤6:选择推广模式 371
16.3.5 步骤5:确定附属文件 371
16.3.7 步骤7:选择安装的文件 372
16.3.9 SetupWizard创建的文件 373
16.3.8 步骤8:创建发布磁盘 373
16.4.1 Setup Toolkit中的文件 375
16.4 创建自定义的安装程序,使用Setup Toolkit 375
16.4.3 理解Setup Toolkit中有用的函数 376
16.4.2 使用Setup Toolkit 376
16.4.4 了解SETUP.LST文件 380
16.4.5 建立自定义的安装应用程序 383
16.5 开发专用服务安装程序 388
16.5.4 便携机用户 389
16.5.3 数据服务 389
16.5.1 用户服务 389
16.5.2 商业服务 389
16.7 本章小结 390
16.6 测试发布应用程序 390
17.2 使用各种OCX和VBX 391
17.1 扩展VB的方法 391
第17章 扩展Visual Basic 391
17.3.1 声明函数 392
17.3 使用Windows API 392
17.3.3 指定参数数据类型 395
17.3.2 按地址调用与按值调用 395
17.4 16位与32位应用程序中的DLL调用 397
17.3.5 传递属性 397
17.3.4 用户定义的类型 397
17.4.3 Unicode与ANSI 398
17.4.2 数据类型不同 398
17.4.1 声明过程 398
17.4.6 条件编译 399
17.4.5 使用OLE对象 399
17.4.4 使用Byte与String 399
17.5.1 Visual Basic对象层次 400
17.5 Visual Basic附加程序 400
17.6 登记附加程序 401
17.7 撤消附加程序的登记 402
17.8.1 添加菜单项 403
17.8 创建Visual Basic附加程序 403
17.8.3 添加控制 405
17.8.2 添加窗体 405
17.9.1 使用登记表和INI文件 406
17.9 扩展Visual Basic的常用方法 406
17.8.4 添加程序代码 406
17.9.4 支持电子邮件的应用程序——MAPI 408
17.9.3 重绘控制 408
17.9.2 电子表格控制 408
17.10.1 API函数 409
17.10 远程访问服务 409
17.11.1 如何使用TAPI 410
17.11 电话API 410
17.10.2 如何使用RAS 410
17.12 本章小结 411
18.2 主要概念及定义 412
18.1 概述 412
第18章 开发国际化应用程序 412
18.3 国际化应用程序的结构 413
18.4.2 设计控制、菜单和对话框 414
18.4.1 设计消息 414
18.4 设计用户界面 414
18.5 编写本地化应用程序 415
18.4.3 使用图标和位图 415
18.6.1 创建资源文件 416
18.6 在Visual Basic中使用资源文件 416
18.6.2 本地化资源文件 418
18.6.4 从Visual Basic访问资源文件 419
18.6.3 在工程中包含资源文件 419
18.7.1 日期 420
18.7 在程序中处理与场所有关的格式 420
18.7.2 货币 421
18.7.4 本地化OLE自动化服务器 422
18.7.3 数值和分隔符 422
18.8.1 Format函数 423
18.8 支持场所的函数 423
18.9.1 比较字符串时利用Option Compare 424
18.9 比较字符串 424
18.8.2 Print函数 424
18.9.2 使用Like运算符比较字符串 425
18.10.1 Input 426
18.10 文件输入/输出 426
18.9.3 用StrComp函数比较字符串 426
18.11 使用双字节字符集 427
18.10.3 Write 427
18.10.2 Print 427
18.11.2 显示DBCS字符 428
18.11.1 字符串操作函数 428
18.12 本章小结 429
18.11.4 可处理DBCS的函数和事件 429
18.11.3 用DBCS字符集处理文件 429
19.1.1 源代码管理的必要性 431
19.1 源代码管理 431
第19章 版本控制和集体开发 431
19.1.2 选择源代码管理工具 432
19.1.3 源代码管理所扮演的角色 433
19.1.4 有关术语的定义 434
19.1.6 使用SourceSafe Explorer 436
19.1.5 Visual SourceSafe的接口构件 436
19.1.8 创建一个Visual SourceSafe工程 438
19.1.7 SourceSafe Administrator 438
19.1.9 检索文件 444
19.1.10 将文件返回数据库 448
19.1.11 删除或恢复文件 449
19.1.12 共享文件 451
19.2 构造SourceSafe用户环境 457
19.2.2 通用(General)属性标签的设置值 458
19.2.1 SourceSafe各种选项的设置值 458
19.2.3 本地文件(Local files)标签的设置值 460
19.2.4 视图(View)标签的设置值 462
19.2.6 警告(Warnings)标签的设置值 463
19.2.5 命令对话框(Command Dialogs)标签的设置值 463
19.2.7 文件类型(File Types)标签的设置值 464
19.2.8 显示文件之间的区别 466
19.2.9 辨别文本文件和二进制文件 467
19.3.1 维护SourceSafe的用户 468
19.3 管理SourceSafe工程 468
19.3.2 管理用户的访问权限 469
19.3.3 使用阴影目录 474
19.3.4 使用日志文件 476
19.4 源代码版本控制 477
19.3.5 备份和恢复Visual SourceSafe 477
19.4.1 非SourceSafe版本定义 481
19.5.1 访问SourceSafe附加程序 484
19.5 在Visual Basic中集成SourceSafe 484
19.5.2 设置SourceSafe选项 485
19.5.3 从Visual Basic中向SourceSafe添加一个新工程 486
19.5.4 从Visual Basic中向SourceSafe添加一个已存在的工程 487
19.5.6 阅读工程列表 488
19.5.5 从Visual Basic打开一个SourceSafe工程 488
19.5.8 通过Visual Basic对文件进行入库检查 489
19.5.7 通过Visual Basic库检查一个文件 489
19.6 本章小结 490
20.1.1 设置环境选项 491
20.1 构造开发环境 491
第20章 确定开发原则 491
20.1.2 设置项目选项 494
20.1.3 设置编辑选项 495
20.1.4 设置高级选项 497
20.2 确定编码原则 500
20.1.5 环境建议总结 500
20.2.1 命名约定 501
20.2.3 使用缩进 505
20.2.2 使用具体变量类型 505
20.3.1 创建调试版本 507
20.3 调试代码 507
20.3.2 使用Code Profiler 509
20.4 本章小结 514
第21章 确定开发途径 515
21.1 Microsoft解决方案框架 515
21.2 应用程序模块 516
21.3 组模块 516
21.3.1 组的角色 516
21.3.2 组特性 519
21.4 处理模型 520
21.4.1 基于路标的处理模型 520
21.4.2 路标中的检查点 520
21.4.3 路标责任和任务 521
21.4.4 优先顺序和日程安排 522
21.4.5 分阶段以不同版本形式发行 523
21.5 解决方案设计 523
21.5.1 设计过程 523
21.5.2 概念设计 524
21.5.3 逻辑设计 524
21.5.4 实际设计 525
21.6 基础结构 525
21.7 Clarify方式 526
21.7.1 组模型 527
21.7.2 处理模型 527
21.8 本章小结 528
22.1 应用程序中的OLE文档 529
OLE文档管理器 529
22.1.1 装入应用程序和浏览菜单 529
第22章 第一个应用程序实例: 529
第5部分 应用程序实例 529
22.1.3 简单的OLE文档访问方式 530
22.1.4 利用Visual Basic的OLE文档功能 530
22.1.2 缺乏集中式存储 530
22.2 OLE Document Manager实例应用程序 531
22.2.1 OLE Document Manager的组成文件 531
22.2.2 安装步骤 532
22.3 应用程序快速浏览 533
22.3.1 使用Document Explorer 533
22.3.2 OLE Document窗口 536
22.4 商业服务 537
22.4.1 Application类 537
22.4.2 Directory类 538
22.4.3 Directories类 540
22.4.4 Document类 544
22.4.5 Documents类 547
22.4.7 DocTypes类 549
22.4.8 Document Manager模块 549
22.4.6 DocType类 549
22.4.9 OLE读/写字段函数 552
22.5 数据服务 554
22.5.1 数据模型 555
22.5.2 存储过程 555
22.6 用户服务 556
22.6.1 Document Explorer 557
22.6.2 Add Document窗口 568
22.6.3 OLE Document窗口 569
22.7 OLE载体控制的限制 571
22.8 本章小结 572
第23章 第二个应用程序实例:实例管理器 573
23.1 为什么建立实例管理器 573
23.2 技术回顾 574
23.2.1 进程管理 574
23.3 实例管理器的特性 575
23.3.1 预先装载对象实例 575
23.2.2 远程自动化 575
23.3.2 多任务实例 576
23.3.3 互斥的实例管理器创建 576
23.3.4 普通实例的创建 577
23.3.5 整体安全性 577
23.3.6 控制进程 578
23.3.7 让运行的进程数减至最少 579
23.3.8 机器间的装载平衡 581
23.3.9 多个类 581
23.3.11 集中化管理 582
23.3.12 组合各种特性 582
23.3.10 重用对象实例 582
23.4 样本实例管理器 583
23.4.1 实例管理器的组成文件 583
23.4.2 安装步骤 584
23.5 实例管理器快速浏览 585
23.5.1 第1步:启动实例管理器 585
23.5.2 第2步:启动客户应用程序 586
23.5.3 第3步:获取实例 586
23.5.4 第4步:释放实例 587
23.5.5 第5步:试试其他操作 587
23.6 实例管理器的设计要点 588
23.6.1 功能综述 588
23.6.2 Client程序 589
23.6.3 OrderMgr 591
23.6.4 OrderMgrs 593
23.7 使用模板 599
23.7.1 InstMgr 599
23.8 实例管理器与缓冲池管理器 600
23.9 本章小结 600
23.7.2 InstMgrs 600
24.2 文件说明 601
24.1 本应用程序的目的 601
24.2.1 SQL Server Scripts 601
三级订单处理系统 601
第24章 第三个应用程序实例: 601
24.2.2 Visual Basic源代码 602
24.3 GOLF系统安装说明 604
24.4 GOLF系统快速入门 606
24.4.1 第1步:运行实例管理器 606
24.4.2 第2步:运行客户应用程序 607
24.4.3 第3步:操纵订单列表 607
24.4.4 第4步:运行用户维护应用程序 608
24.4.5 第5步:运行产品维护应用程序 609
24.5 划分应用程序 609
24.6 设计商业服务器/对象 610
24.6.1 对象层 611
24.7 设计数据服务 613
24.7.1 设计表 613
24.6.2 GOLF系统的商务对象 613
24.7.2 使用存储过程 614
24.7.3 使用RDO 615
24.8 开发商业服务器 616
24.8.1 测试客户应用程序 616
24.8.2 OrderMgr 620
24.8.3 CustMgr 630
24.8.4 PrdtMgr 631
24.8.5 Mgrs对象 632
24.9.2 使用Excel创建自定义的应用程序 633
24.9.1 连接商业服务器 633
24.10 本章小结 633
24.9 设计客户应用程序 633