第一章 多线程编程 1
1.1 多线程技术 1
1.2 创建多线程应用 1
1.3 线程类TThread 4
1.4 协调线程 6
1.5 多线程编程实例 7
第二章 FastNet网络控件 15
2.1 用TNMDayTime控件查询时间 15
2.2 使用TNMEcho控件测试网速 19
2.3 使用TNMMsg和TNMMsgServ收发消息 24
2.4 使用Twebbrowser控件浏览网页 29
2.5 用TNMFinger控件访问Finger服务器 36
2.6 用TNMSMTP和TNMPOP3开发电子邮件程序 40
2.7 用TPowerSock和TNMHttp控件编制网络追捕程序 57
第三章 网络通信编程技术 64
3.1 用TServerSocket/TClientSocket进行数据通信 64
3.2 用TTcpServer/TTcpClient进行数据通信 71
3.3 用UDP实现即时聊天程序 77
3.4 实现超级链接 82
3.5 获取本机机器名IP地址 85
3.6 获取本机MAC地址 88
3.7 实现拨号链接 92
3.8 实现Ping操作 92
第四章 Web服务应用 97
4.1 公共网关接口CGI 97
4.2 创建ISAPI 98
4.3 用Delphi创建Web应用程序 99
4.3.1 TWebModule和TwebActionItem 99
4.3.2 TWebRequest和TWebResponse 100
4.4 第一个ISAPI程序 107
4.5 Web服务应用程序的调试 108
第五章 WebSnap应用开发 111
5.1 Web模块 111
5.2 Web应用程序模块类型 112
5.3 Web页面模块 112
5.3.1 页面生成器的组件 113
5.3.2 页面名称 113
5.3.3 生成器模板 113
5.4 Web数据模块 113
5.5.4 记录 114
5.5.3 错误 114
5.5.1 字段 114
5.5.2 状态 114
5.5 适配器 114
5.6 页面生成器 115
5.7 使用WebSnap创建Web服务器端应用程序 115
5.7.1 服务器类型 116
5.7.2 应用程序模块组件 117
5.7.3 Web应用程序模块属性选项 118
5.7.4 高级的HTML设计 119
5.7.5 在HTML文件中操作服务器端脚本 120
5.7.6 登录支持 121
5.7.7 添加登录支持 121
5.7.8 使用会话服务 122
5.7.9 登录页面 122
5.7.10 设置需要登录的页面 123
5.8 用户访问权限 124
5.8.1 动态地在编辑框或文本框中显示字段 124
5.9 WebSnap教程 125
5.9.1 设置外部HTML编辑器 125
5.8.3 防止页面访问 125
5.8.2 隐藏字段和字段内容 125
5.9.2 一个简单的WebSnap应用程序 126
5.9.3 用WebSnap实现Master/Detail应用 129
第六章 CORBA应用开发 132
6.1 ORB 132
6.2 CORBA的体系结构 133
6.2.1 Stub 133
6.2.2 Skeleton 133
6.3 创建CORBA服务器的一般步骤 134
6.2.4 激活CORBA服务器 134
6.2.3 Smart Agent 134
6.4 CORBA对象的接口 135
6.5 自动生成代码 137
6.6 在接口库中注册接口 141
6.7 CORBA客户程序 141
6.7.1 使用Stub 142
6.7.2 使用DII 142
6.8 自定义CORBA应用程序 144
6.8.1 在客户程序中显示CORBA对象的名称 144
6.9 分发CORBA应用程序 145
6.8.3 传递客户信息给服务器 145
6.8.2 显露或者隐藏CORBA对象 145
6.10 配置Smart Agent 146
6.10.1 启动Smart Agent 146
6.10.2 配置ORB域 146
6.10.3 连接不同局域网上的Smart Agent 147
6.11 用IDL2PAS方式进行CORBA应用开发 148
第七章 SOAP和WebServices 156
7.1 SOAP和WebServices基础 156
7.2 一个最简单的SOAP应用例子 161
7.3 通过SOAP传递自定义类型数据 166
7.4 用SOAP实现三层数据库应用 174
第八章 COM和ActiveX 181
8.1 COM基础知识 181
8.1.1 从OLE到COM 181
8.1.2 COM的基本概念 181
8.1.3 COM应用程序的组成 182
8.2 类型库Type Library 186
8.2.1 基本概念 186
8.2.2 类型库编辑器 187
8.2.3 接口 190
8.2.5 组件类 194
8.2.4 类型库枚举 194
8.3 创建COM客户程序 196
8.3.1 引入类型库信息 196
8.3.2 控制引入的COM对象 200
8.3.3 为没有类型库的服务器创建客户 207
8.4 开发简单的COM服务器 208
8.4.1 使用向导建立COM对象 208
8.4.2 实例模式和线程模式 216
8.5.1 概述 217
8.5 分布式COM(DCOM)对象 217
8.5.2 连接远程服务器 219
8.6 ActiveX控件 220
8.6.1 ActiveX构件结构 220
8.6.2 编写ActiveX构件 221
8.6.3 ActiveX构件的属性页 222
8.6.4 数据绑定 224
8.6.5 网页内使用ActiveX构件 225
8.6.6 ActiveX构件支持的接口 226
9.1 MTS和MTS对象 229
第九章 MTS应用开发 229
9.2 资源管理 230
9.2.1 访问context(上下文)对象 230
9.2.2 实时(just-in-time)激活 231
9.3 MTS的事务(transaction) 234
9.3.1 事务的特性 234
9.3.2 状态保持和无状态保持对象 235
9.3.3 结束事务的方法 235
9.3.4 事务初始化 236
9.4 基于角色的安全性 238
9.3.5 事务计时 238
9.5 创建MTS对象 239
第十章 创建用户定义的组件 243
10.1 VCL和CLX 243
10.2 组件和类 244
10.3 如何定义新组件 244
10.3.1 修改已存在的组件 245
10.3.2 创建窗口控件 245
10.3.3 创建图形控件 245
10.4.1 减少依赖性 246
10.4 如何设计一个组件 246
10.3.5 创建非可视组件 246
10.3.4 派生窗口控件的子类 246
10.4.2 属性、方法和事件 247
10.4.3 图形封装 248
10.4.4 注册 248
10.5 创建新组件示例 248
10.5.1 使用组件向导创建组件 249
10.5.2 手工创建新组件 251
10.6 创建组件的属性、事件和方法 252
10.6.1 创建属性 252
10.6.2 创建事件 256
10.6.3 创建方法 259
10.7 使组件在设计时可用 261
10.7.1 注册组件 261
10.7.2 添加选项板位图 263
10.7.3 为组件提供帮助文件 263
10.7.4 添加属性编辑器 264
10.7.5 添加组件编辑器 267
10.7.6 编译组件到包 270
10.7.7 生成编译包裹夹(Package collection files) 272