本书是针对想使用Delphi开发COM/DCOM应用程序、定制的COM/DCOM对象组件或创建可以扩展、易于维护的应用程序的一本独具特色的参考书。它提供了关于接口、类型库、COM事件/回调及结构化存储的非常好的信息。所有的实例程序都可以直接执行并使用在许多实际的应用程序中。本书是每一个Delphi COM程序员的必备参考书。
目录
- 前言
- 导言
- 第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 下一步做什么