前言
导言
第1章 在Delphi中使用接口
1.1 定义接口
1.1.1 作为协议的接口
1.1.2 接口和类的不同
1.1.3 接口是不变的
1.2 声明一个接口
1.3 实现接口
1.3.1 实现IUnknown
1.3.2 创建、使用及销毁接口
1.3.3 获取接口的指针
1.3.4 实例:接口演示
1.4 接口编程
1.5 高级接口问题
1.5.1 在一个类中实现多个接口
1.5.2 接口授权
1.5.3 接口属性
1.5.4 实例:一个图形设计演示程序
1.6 小结
第2章 接口与COM
2.1 GUIDs和COM
2.2 进程内的COM服务器(In-Process COM Server)
2.2.1 线程支持(Threading Support)
2.2.2 注册服务器(Registering the Server)
2.2.3 定制构造函数(Custom Constructors)
2.2.4 创建一个过程内COM对象的实例
2.2.5 实例:一维的箱柜包装(Bin Packing)
2.3 进程外COM服务器(Out-Of-Process COM Server)
2.3.1 实例化(Instancing)
2.3.2 创建一个过程外COM对象的实例
2.3.3 调度数据(Marshaling Data)
2.4 Variant数组
2.4.1 创建一个variant数组
2.4.2 访问Variant数组
2.4.3 改进Variant数组性能
2.4.4 Variant数组实例
2.5 在其他语言中使用COM对象
2.6 小结
第3章 类型库
3.1 定义类型库
3.1.1 使用类型库的理由
3.1.2 TTypedComObject
3.2 使用Delphi来创建类型库
3.3 创建一个类型库浏览器
3.3.1 解释枚举
3.3.2 解释接口和派遣接口
3.3.3 解释CoClasses
3.3.4 扩展TWiewer
3.4 小结
第4章 自动化
4.1 定义自动化
4.1.1 接口
4.1.2 Variants
4.1.3 派遣接口(Dispinterfaces)
4.1.4 双重接口(Dual Interfaces)
4.2 进程内自动化服务器(In-Process Automation Servers)
4.2.1 实例:单位转换服务器(Unit Conversion Server)
4.2.2 CreateOleObject和GetActiveOleObject
4.2.3 实例:单为转换客户(Unit Conversion Client)
4.3 进程外自动化服务器(Out-Of-Process Automation Servers)
4.3.1 HResult和Safecall
4.3.2 自动化现存的应用程序
4.4 COM事件和回调(COM Events and Callbacks)
4.4.1 派遣接口(Dispinterfaces)
4.4.2 回调接口(Callback Interface)
4.5 自动化Microsoft ADO
4.5.1 ADO原理
4.5.2 获取ADO
4.5.3 把ADO安装到Delphi中
4.5.4 连到一个数据库
4.5.5 打开一个记录集
4.5.6 执行一个命令
4.5.7 访问字段值
4.5.8 处理数据库错误
4.5.9 实例:一个Microsoft ADO应用程序
4.6 小结
第5章 ActiveX控件和ActiveForms
5.1 使用Delphi中现有的ActiveX控件
5.1.1 Microsoft Agent
5.1.2 Microsoft Agent应用程序的一个实例
5.2 创建ActiveX控件
5.2.1 创建ActiveX控件的理由
5.2.2 把一个可视化组件转换成一个ActiveX控件
5.2.3 注册一个ActiveX控件
5.2.4 在Visual Basic中检测ActiveX控件
5.2.5 把属性页添加到ActiveX控件中
5.2.6 分发ActiveX控件
5.3 ActiveForms(Active窗体)
5.3.1 创建ActiveForm
5.3.2 测试ActiveForm
5.4 小结
第6章 DCOM
6.1 DCOM基础
6.2 使用DCOM编程
6.2.1 创建一个DCOM服务器
6.2.2 安装DCOM服务器
6.2.3 创建一个DCOM客户
6.3 使用DCOM实现远程数据集
6.3.1 定义应用程序
6.3.2 创建服务器
6.3.3 创建管理客户程序
6.3.4 创建一个端点(point-of-sale)客户程序
6.4 小结
第7章 结构化存储
7.1 定义结构化存储
7.2 使用结构化存储编程
7.2.1 创建一个结构化存储文件
7.2.2 打开一个已经存在的结构化存储文件
7.2.3 流(Streams)编程
7.2.4 创建和使用附加存储(Additional Storages)
7.2.5 在结构化存储文件中迭代
7.2.6 压缩一个结构化存储文件
7.3 实例:在应用程序中使用结构化存储文件
7.4 实例:查看结构化存储文件的结构
7.5 小结
第8章 结构化存储与OLE
8.1 OLE属性集(OLE Property Sets)
8.1.1 OLE属性集约定
8.1.2 IPropertySetStorage和IPropertyStorage接口
8.1.3 一个读写属性集的组件
8.1.4 实例:访问用户定义的属性
8.1.5 实例:通过属性查找文件
8.2 复合文档和OLE容器
8.2.1 激活及关闭OLE服务器
8.2.2 在文件和流中保存及从其中载入对象
8.2.3 合并菜单
8.2.4 使用剪贴板
8.2.5 实例:一个简单的OLE容器
8.3 小结
第9章 Windows外壳程序设计
9.1 快捷菜单处理器(Context Menu Handlers)
9.1.1 IshellExtInit接口
9.1.2 IContextMenu接口
9.1.3 注册快捷菜单处理器
9.2 复制钩子处理器(Copy Hook Handlers)
9.2.1 ICopyHook接口
9.2.2 注册复制钩子处理器
9.3 外壳链接(Shell Links)
9.3.1 外壳链接接口
9.3.2 创建一个链接
9.4 任务栏状态区图标(Tray Icons)
9.4.1 任务栏状态区图标消息
9.4.2 TDCPTrayIcon组件
9.4.3 一个任务栏状态区应用实例
9.5 属性页处理器(Property Sheet Handlers)
9.5.1 创建一个对话框模板
9.5.2 属性页处理器接口
9.5.3 实现一个对话框过程
9.5.4 实现回调函数
9.6 下一步做什么