第一章 组件对象模型(COM) 1
1.1几个基本概念 1
1.2客户与服务器 2
1.3认识GUID、CLSID、IID 3
1.4引用计数 4
1.5虚拟方法表 4
1.6 IUnknown接口 5
1.7创建COM对象的一般步骤 6
第二章 对象接口 11
2.1接口的语法 11
2.1.1怎样声明接口 11
2.1.2祖先接口 13
2.1.4前向声明 14
2.1.3接口标识符 14
2.1.5怎样实现对象接口 15
2.1.6怎样实现对象接口中的方法 16
2.1.7方法解析子句 16
2.1.8使用方法解析子句的限制 17
2.1.9委托一个特性来实现接口 19
2.2调度接口 20
2.3双重接口 22
2.4 对接口的引用 24
2.4.1用赋值语句获得接口引用 24
2.4.2赋值相容和类型强制转换 26
2.4.3对派生接口的引用 26
2.4.4接口查询 27
2.4.5 TInterfacedObject 28
2.5接口与代码重用 29
3.1什么是DAX 31
第三章 DAX技术 31
3.2 TInterfacedobject 32
3.3 TComobject 33
3.4 TTypedcomobject 34
3.5 TAutoObject 35
3.6 TAutointfObject 36
3.7 TActivexControl 36
3.8 TComserverObject 40
3.9 TComServer 41
3.10 TActiveForm 44
3.11TProperytPage 44
3.12 TComObjectFactory 45
3.13 TTypedComObjectFactory 49
3.15 TAutoObjectFactory 50
3.14 TActiveXPropertyPageFactory 50
3.16 TActiveXcontrolFactory 51
3.17 TActiveFormFactory 53
第四章 “Type Library”编辑器 55
4.1关于类型库的概述 55
4.2“Type Library”编辑器的基本操作 56
4.2.1创建一个新的类型库 56
4.2.2打开一个已有的类型库 58
4.2.3刷新类型库 58
4.2.4保存和注册类型库 58
4.2.5把类型库引入到当前项目中 58
4.2.6引出类型库 59
4.2.7发布类型库 60
4.3“Type Library”编辑器的窗口 60
4.4类型库的一般信息 61
4.5接口 64
4.6在接口中加入成员 65
4.7调度接口 67
4.8类型库枚举 68
4.9组件类 69
4.10别名、记录、联合、模块 70
4.11 IDL文法 71
4.11.1属性表述 71
4.11.2接口的文法 72
4.11.3调度接口的文法 72
4.11.4组件类的文法 73
4.11.5枚举的文法 73
4.11.6别名的文法 74
4.11.7记录的文法 74
4.11.8联合的文法 75
4.11.9模块的文法 75
5.1.1怎样转换基于TGraphicControl的控件 77
第五章 创建ActiveX控件 77
5.1创建ActiveX控件 77
5.1.2 ActiveX控件向导 78
5.2向导创建了哪些文件 80
5.2.1项目文件 81
5.2.2类型库的接口源文件 81
5.2.3类型库接口的实现文件 89
5.2.4 About框的源文件 92
5.3编辑类型库 93
5.3.1在接口中加入新的成员 93
5.3.2加入新的特性 94
5.3.3加入新的方法 95
5.3.4加入新的事件 95
5.4数据捆绑 97
5.5创建特性页 99
5.6注册和安装ActiveX控件 101
5.7怎样使用ActiveX控件 104
5.8 Activeform 104
5.9在Web上发布ActiveX 106
5.9.1 Project页 106
5.9.2 Packages页 107
5.9.3 Additional Files页 108
5.9.4 Code Signing页 108
第六章 OLE自动化 111
6.1引入自动化服务器的类型库 111
6.2 OleVariant类型 114
6.2.1 OleVariant是怎样声明的 114
6.2.2 给OleVariant类型的变量赋值 114
6.2.3可变数组 115
6.3.1创建自动化对象的实例 117
6.3用OleVariant操纵自动化对象 117
6.3.2访问失败 118
6.3.3怎样访问自动化对象的特性 119
6.3.4怎样访问自动化对象的方法 119
6.4创建自动化服务器 120
6.5自动化对象的类型库 121
6.5.1类型库的接口描述文件 121
6.5.2类型库接口的实现文件 123
6.5.3编辑类型库 125
6.5.4加入新的特性 125
6.5.5加入新的方法 126
6.5.6加入新的事件 127
6.6注册和调试自动化服务器 128
6.7一个典型的自动化客户程序 128
6.8一个典型的自动化服务器 131
7.1创建MTS对象的一般步骤 139
第七章 创建MTS对象 139
7.2向导生成了哪些文件 141
7.2.1类型库的接口源文件 141
7.2.2接口的实现单元 142
7.2.3 MTS对象的类型库 143
7.3把MTS对象安装到MTS包中 144
7.4 MTS Explorer 145
7.5 TMtsautoObject 146
7.6建立事务对象 147
第八章 CORBA应用程序 149
8.1 CORBA应用程序的体系结构 149
8.2进一步理解Stub、Skeleton和SmartAgent 150
8.4创建COBA服务器的一般步骤 151
8.3激活CORBA服务器 151
8.5定义对象接口 152
8.6自动生成的代码 154
8.7在接口库中注册接口 158
8.8 CORBA客户程序 158
8.8.1使用Stub 159
8.8.2使用DII 159
8.9自定义CORBA应用程序 160
8.9.1在客户程序中显示CORBA对象的名称 161
8.9.2暴露或隐藏CORBA对象 161
8.9.3传递客户信息给服务器 162
8.10分发CORBA应用程序 162
8.11配置Smart Agent 162
8.11.2配置ORB域 163
8.11.3连接不同局域网上的Smart Agent 163
8.11.1启动Smart Agent 163
第九章 使用WINSOCK 165
9.1关于Socket的概述 165
9.2建立服务器端Socket 166
9.3建立客户端Socket 167
9.4怎样在网络上传输数据 168
9.5在客户端使用多线程技术 169
9.6在服务器端使用多线程技术 170
9.7 TCustomWinSocket 171
9.8 TClientWinSocket 176
9.9 TServerWinSocket 177
9.10 TServerClientWinSocket 181
9.11 TWinSocketStream 182
9.12一个网上交谈(Chat)程序 183
10.1 TNMFTP元件的特性 189
第十章 使用FIP控件 189
10.2 TNMFTP元件的方法 194
10.3 TNMFTP元件的事件 197
第十一章 使用UDP控件 201
11.1使用UDP控件的一般步骤 201
11.2 UDP控件的特性 202
11.3 UDP控件的方法 203
11.4 UDP控件的事件 204
第十二章 使用HTTP客户控件 207
12.1 HTTP控件的特性 207
12.2 HTTP控件的方法 212
12.3 HTTP控件的事件 214
第十三章 使用HTML控件 217
13.1 HTML控件概述 217
13.2 HTML控件的特性 218
13.3 HTML控件的方法 223
13.4 HTML控件的事件 225
第十四章 使用SMTP控件 229
14.1 SMTP控件的特性 229
14.2 SMTP控件的方法 232
14.3 SMTP控件的事件 233
第十五章 使用POP控件 237
15.1 POP控件的特性 237
15.2 POP控件的方法 241
15.3 POP控件的事件 242
第十六章 使用NNTP控件 245
16.1 NNTP控件的特性 245
16.2 NNTP控件的方法 251
16.3 NNTP控件的事件 252
17.1 WWW是怎样工作的 257
第十七章 创建Web服务器应用程序 257
17.2静态的HTML页面 258
17.3动态的HTML页面 262
17.4怎样与客户交互 263
17.5交互生成页面 265
17.6与数据库的连接 267
17.7怎样调试Web服务器应用程序 269
17.7.1调试ISAPI或NSAPI类型的Web服务器应用程序 269
17.7.2调试CGI或Win-CGI类型的Web服务器应用程序 271
第十八章 Web服务器应用程序的细节 273
18.1 Web服务器应用程序的逻辑结构 273
18.2 Web模块 274
18.3 Web调度器 276
18.4动作项 277
18.5.2 TWebRequest是怎样声明的 280
18.5.1 HTTP请求消息是怎样传递的 280
18.5 HTTP请求消息 280
18.5.3 TWebRequest对象的特性和方法 282
18.5.4 TISAPIRequest对象 287
18.5.5 TCGIRequest对象 288
18.5.6 TWinCGIRequest对象 289
18.6 HTTP响应消息 289
18.6.1怎样建立HTTP响应消息 289
18.6.2怎样传递HTTP响应消息 290
18.6.3自己传递HTTP响应消息 290
18.6.4 TWebResponse是怎样声明的 290
18.6.5 TWebResponse对象的特性和方法 291
18.6.6 TISAPIResponse对象 295
18.6.7 TCGIResponse对象 296
18.6.8 TWinCGIResponse对象 296
18.7.1怎样建立HTML模板 297
18.7页面生成器 297
18.7.2指定HTML模板 298
18.7.3转换并返回转换后的结果 299
18.7.4怎样转换(OnHTMLTag事件) 299
18.7.5 TDataSetPageProducer 300
18.8操纵Web服务器应用程序 300
18.8.1 TWebApplication对象 301
18.8.2 TCGIApplication对象 302
18.8.3 TISAPIApplication对象 303
18.9 Web服务器与数据库 303
18.9.1用TSession管理与数据库的连接 303
18.9.2 TDataSetTableProducer元件 304
18.9.3 TQueryTableProducer元件 307
18.10两个典型的Web服务器应用程序 307