017_《参透Delphi_Kylix》


017_《参透Delphi_Kylix》
2010年11月22日
  Delphi 教程系列书籍 (017) 《参透Delphi_Kylix》网友(邦)整理 EMail: [email protected]
  下载地址: http://download.csdn.net/source/2851861 作者: 乔林
  出版社:中国铁道出版社
  ISBN:7113049206
  上架时间:2003-5-24
  出版日期:2003 年3月
  开本:16开
  页码:884
  版次:1-1
  内容简介
  Delphi/Kylix为Borland/Inprise公司推出的影响最深远的程序开发软件之一。本书深入0bject Pascal语言与Delphi/Kylix开发工具的核心,澄清许多容易让人迷惑的概念,详细阐释使用Delphi/Kylix进行高级开发时所应具有的思考方法与技术修养。本书共分五部分,除附录外,分别讨论Object Pascal语言精义、应用程序界面设计方略、组件开发与IDE扩展以及Windows核心编程技术。全书通过131个实例、近70,000行程序源代码全面提升读者的程序开发能力。
  本书适合大中专院校师生与相关科技人员学习Delphi/Kylix与Windows核心编程时自学或参考。 
  目录
  第0章引言 1 
  0-1 精通delphi/kylix的途径 2 
  0-2 全书结构 2 
  0-3 排版与行文说明 2 
  0-4 关于本书配套光盘 3 
  0-5 联系作者 3 
  第一部分 object pascal语言精义
  第1章 数据与代码 7 
  1-1 数据与代码的基本概念 8 
  1-1-1 数据与信息 8 
  1-1-2 数据及其解释 9 
  1-1-3 数据与地址 9 
  1-1-4 程序代码 10 
  1-2 数据类型 12 
  1-2-1 简单数据类型 13 
  1-2-2 用户自定义数据类型 14 
  1-2-3 无名类型声明 15 
  1-2-4 类型别名 16 
  1-3 数据的类型转换 17 
  1-3-1 强制类型转换 17 
  1-3-2 类型转换的利与弊 19 
  1-3-3 变体类型 20 
  1-4 程序流程控制 21 
  1-4-1 分支 21 
  1-4-2 循环 21 
  1-5 本章小结 22 
  第2章 过程与函数 23 
  2-1 结构化程序设计 24 
  2-1-1 结构化程序设计的基本原则 24 
  2-1-2 子程序 24 
  2-1-3 功能分解与逐步求精 26 
  2-2 子程序参数 29 
  2-2-1 参数语义 29 
  2-2-2 值参数 30 
  2-2-3 常量参数 30 
  2-2-4 变量参数 30 
  2-2-5 外部参数 31 
  2-2-6 无型参数 31 
  2-3 子程序重载与缺省参数 32 
  2-3-1 重载 32 
  2-3-2 缺省参数 33 
  2-4 子程序控制 34 
  2-4-1 栈框架的调整 34 
  2-4-2 调用规范 36 
  2-4-3 参数传递规范 37 
  2-4-4 寄存器保护规范与函数的返回值 38 
  2-5 递归 39 
  2-5-1 递归的基本概念 39 
  2-5-2 递归调用时的栈框架调整 41 
  2-5-3 递归信任 43 
  2-5-4 分形 44 
  2-5-5 间接递归 49 
  2-6 本章小结 50 
  第3章 数据组织 51 
  3-1 数据的组织结构 52 
  3-1-1 同质数据 52 
  3-1-2 异质数据 56  3-1-3 复杂数据结构 63 
  3-2 生存期自管理的数据类型 64 
  3-2-1 生存期自管理的基本意义 64 
  3-2-2 动态数组 64 
  3-2-3 字符串 71 
  3-3 指针 74 
  3-3-1 指针、地址与数据 74 
  3-3-2 指针操作 75 
  3-3-3 动态内存分配 78 
  3-3-4 指针存储格式 79 
  3-3-5 字符指针 80 
  3-4 特定数据结构的参数传送 85 
  3-4-1 静态数组参数 85 
  3-4-2 开放数组参数 86 
  3-4-3 可变开放数组参数 88 
  3-4-4 字符串参数 90 
  3-4-5 指针参数 91 
  3-5 本章小结 92 
  第4章 程序抽象 93 
  4-1 数据抽象与抽象数据类型 94 
  4-1-1 数据抽象 94 
  4-1-2 链表 95 
  4-1-3 抽象数据类型 98 
  4-2 线性数据结构 102 
  4-2-1 栈 102 
  4-2-2 队列 104 
  4-2-3 对栈与队列的进一步抽象 106 
  4-3 非线性数据结构 109 
  4-3-1 符号表 109 
  4-3-2 树与二叉树 114 
  4-3-3 表达式二叉树 116 
  4-4 算法抽象 124 
  4-4-1 过程抽象 124 
  4-4-2 过程类型 125 
  4-4-3 数学函数图像的绘制 130 
  4-4-4 回调函数与映射函数 132 
  4-5 本章小结 134 
  第5章 类与对象 137 
  5-1 类类型 138 
  5-1-1 类与对象的基本概念 138 
  5-1-2 类类型的声明与实现 138 
  5-1-3 类类型的使用 140 
  5-1-4 对象成员的访问 142 
  5-1-5 根类与继承 142 
  5-2 域与方法 143 
  5-2-1 域 143 
  5-2-2 方法类型 144 
  5-2-3 过程方法与函数方法 145 
  5-2-4 构造方法 146 
  5-2-5 析构方法 149 
  5-2-6 类过程方法与类函数方法 150 
  5-2-7 隐含参数self 152 
  5-2-8 方法调用规范 153 
  5-3 成员可见性 154 
  5-3-1 数据封装与成员可见性 154 
  5-3-2 缺省成员可见性 156 
  5-3-3 类的友元 156 
  5-4 类与抽象数据类型 159 
  5-4-1 数据封装的肇因 159 
  5-4-2 抽象数据类型的类实现 160 
  5-4-3 面向对象技术的实质 163  5-5 对象与对象交互 164 
  5-5-1 再论对象 164 
  5-5-2 对象标识 166 
  5-5-3 对象交互机制 167 
  5-5-4 对象引用存在的问题 169 
  5-6 本章小结 170 
  第6章继承 171 
  6-1 继承抽象 172 
  6-1-1 继承的基本原理 172 
  6-1-2 窗体类的继承 174 
  6-1-3 vcl与clx类库层次 176 
  6-1-4 vcl与clx类库分支结构 178 
  6-2 方法的继承与重载 180 
  6-2-1 方法继承 180 
  6-2-2 方法重载 181 
  6-2-3 inherited调用 185 
  6-3 类操作符 187 
  6-3-1 is操作符 187 
  6-3-2 as操作符 188 
  6-4 对象存储格式 189 
  6-4-1 域的存储格式 189 
  6-4-2 静态方法的存储格式 191 
  6-5 线性数据结构的类实现 192 
  6-6 本章小结 194 
  第7章 多态性与动态联编 195 
  7-1 静态方法与类型适应 196 
  7-1-1 静态方法 196 
  7-1-2 类型适应 197 
  7-2 虚拟方法与动态方法 198 
  7-2-1 强制类型转换的缺陷 198 
  7-2-2 虚拟方法 199 
  7-2-3 动态方法 200 
  7-3 方法指示符 201 
  7-3-1 方法的重定义 201 
  7-3-2 方法的覆盖 202 
  7-3-3 方法的重引入 202 
  7-3-4 警告指示符 203 
  7-3-5 方法指示符的使用原则 203 
  7-4 动态联编机制 205 
  7-4-1 静态联编与动态联编 205 
  7-4-2 多态性 206 
  7-5 虚拟方法与动态方法的存储格式 208 
  7-5-1 虚拟表结构 209 
  7-5-2 动态方法的存储格式 213 
  7-5-3 类继承层次下的虚拟表结构 215 
  7-6 对象的构造与析构 216 
  7-6-1 对象的构造 216 
  7-6-2 对象的析构 218 
  7-7 抽象方法与抽象类 226 
  7-7-1 抽象方法 226 
  7-7-2 抽象类 227 
  7-7-3 抽象窗体类 228 
  7-8 本章小结 230 
  第8章 流机制与持久性 231 
  8-1 流机制 232 
  8-1-1 流抽象 232 
  8-1-2 流入流出 234 
  8-2 文件流 235 
  8-2-1 创建tfilestream流式对象 236 
  8-2-2 tfilestream流入流出 236 
  8-2-3 数据文件流 239  8-3 体育彩票辅助分析系统 240 
  8-3-1 法律说明 240 
  8-3-2 数据结构 241 
  8-3-3 中奖记录的流入流出 243 
  8-3-4 频率统计 244 
  8-3-5 中奖号码分布图 246 
  8-3-6 中奖记录的管理 250 
  8-4 tpersistent类与持久性 254 
  8-4-1 复制构造方法 254 
  8-4-2 属性流与域流 256 
  8-4-3 对象的串行化 258 
  8-5 本章小结 261 
  第9章 异常处理 263 
  9-1 异常处理的基本概念 264 
  9-1-1 异常处理机制 264 
  9-1-2 异常保护机制 267 
  9-1-3 异常引发机制 269 
  9-2 标准异常类 270 
  9-2-1 异常类exception 270 
  9-2-2 异常类层次 271 
  9-2-3 运行库异常 272 
  9-2-4 对象异常 276 
  9-2-5 组件异常 278 
  9-3 异常的响应与处理 279 
  9-3-1 使用异常实例 279 
  9-3-2 缺省异常响应 280 
  9-3-3 多个异常的处理 280 
  9-3-4 异常的重引发 282 
  9-3-5 异常嵌套 283 
  9-3-6 异常编程方法 284 
  9-3-7 tapplication类的异常处理程序 284 
  9-3-8 程序异常日志 286 
  9-4 自定义异常类 287 
  9-4-1 创建自定义异常类 287 
  9-4-2 引发自定义异常类 287 
  9-5 本章小结 290 
  第二部分 用户界面设计方略
  第10章 窗体与窗口 293 
  10-1 窗体的基本属性 294 
  10-1-1 边框样式与边框图标 294 
  10-1-2 窗体位置 295 
  10-1-3 窗体与客户区的大小 296 
  10-1-4 窗体约束 297 
  10-2 字体比例调整 298 
  10-2-1 自动调整字体比例 298 
  10-2-2 手工调整字体比例 299 
  10-2-3 滚动条 300 
  10-3 窗体中的组件 300 
  10-3-1 组件的owner属性与parent属性 300 
  10-3-2 组件与控件计数 301 
  10-4 窗体事件 302 
  10-5 对话框与多窗体的创建与管理 304 
  10-5-1 模态窗口与非模态窗口 304 
  10-5-2 窗体的创建与释放时机 305 
  10-5-3 对话框 307 
  10-6 特殊窗体 309 
  10-6-1 封面窗口 309 
  10-6-2 无标题窗体 310 
  10-7 本章小结 313 
  第11章 输入处理 315 
  11-1 鼠标与键盘输入 316  11-1-1 鼠标事件 316  11-1-2 键盘事件 317 
  11-2 响应鼠标事件 317  11-2-1 鼠标事件处理过程的参数 317  11-2-2 响应onclick事件 318  11-2-3 响应onmousedown事件 319  11-2-4 响应onmousemove事件 320  11-2-5 响应滚轮事件 321 
  11-3 响应键盘事件 321  11-3-1 键盘事件处理过程的参数 321  11-3-2 响应onkeypress事件 322  11-3-3 响应onkeydown事件 323  11-3-4 响应onkeyup事件 323 
  11-4 跟踪鼠标与键盘 323  11-4-1 跟踪鼠标事件 323  11-4-2 跟踪键盘事件 325  11-4-3 处理虚拟键 325  11-4-4 虚拟键的散列 328 
  11-5 本章小结 331 
  第12章 用户界面元素 333 
  12-1 菜单栏 334  12-1-1 菜单与菜单项 334  12-1-2 菜单项的图标 334  12-1-3 菜单项的加速键与快捷键 335  12-1-4 菜单命令的响应 336  12-1-5 动态管理菜单项 337  12-1-6 弹出式菜单 338  12-1-7 访问系统菜单 339 
  12-2 工具栏 341  12-2-1 ttoolbar组件与ttoolbutton组件 342  12-2-2 按钮样式 343  12-2-3 工具栏中的组件 344  12-2-4 工具栏按钮的提示信息 345  12-2-5 提示信息的定制 346  12-2-6 提示信息窗口类 348 
  12-3 控件栏 349  12-3-1 tcoolbar组件 349  12-3-2 tcontrolbar组件 350  12-3-3 tcontrolbar组件中的菜单 351 
  12-4 活动抽象机制 352  12-4-1 引入活动抽象的原因 352  12-4-2 活动抽象的基本机制 352  12-4-3 使用活动关联菜单和按钮 355  12-4-4 活动的触发规则 357 
  12-5 状态栏 361  12-5-1 简单状态栏的使用方法 362  12-5-2 复杂状态栏的使用方法 362  12-5-3 跟踪键盘状态 363 
  12-6 本章小结 364 
  第13章 程序工作区 365 
  13-1 sdi、mdi与mpi 366  13-1-1 sdi 366  13-1-2 mdi 366  13-1-3 mpi 367  13-1-4 设计程序工作区的五项基本原则 367 
  13-2 ttabcontrol组件与tpagecontrol组件 368  13-2-1 ttabcontrol组件 368  13-2-2 tpagecontrol组件 370  13-2-3 动态mpi的管理 372  13-2-4 获取活动tjumemo对象 374  13-2-5 页面切换 376 
  13-3 mpi编辑器 377  13-3-1 文件的保存 378  13-3-2 文件的关闭 379  13-3-3 窗体的关闭 380  13-3-4 文件的打印 381 
  13-4 框架组件 382  13-4-1 使用框架 382  13-4-2 框架的基本意义 383  13-4-3 窗体中的框架 384 
  13-5 本章小结 386 
  第14章 常用组件的高级用法 387 
  14-1 列表框组件 388  14-1-1 tlistbox组件 388  14-1-2 tchecklistbox组件 389  14-1-3 tcombobox组件与tcolorbox组件 391 
  14-2 视图组件 391  14-2-1 tlistview组件 391  14-2-2 ttreeview组件 394  14-3 组件的自绘 395  14-3-1 tcombobox组件的自绘 396  14-3-2 tmenuitem组件的自绘 397  14-3-3 tlistview组件的自绘 398  14-3-4 ttreeview组件的自绘 401 
  14-4 向导 402 
  14-5 本章小结 405 
  第15章 拖放与停靠 407 
  15-1 组件间的拖放 408 
  15-2 组件内的拖放 409 
  15-3 控件栏与控件的停靠 411 
  15-4 页面控件的停靠特性 412 
  15-5 本章小结 413 
  第三部分 组件开发与ide扩展
  第16章 类引用 417 
  16-1 类引用类型的概念 418 
  16-1-1 类引用类型的语法 418 
  16-1-2 类引用类型与类方法 419 
  16-2 类引用类型与类构造 420 
  16-2-1 类引用类型与类定义 420 
  16-2-2 application对象与窗体创建 421 
  16-3 类引用类型与动态创建组件 423 
  16-3-1 控件的动态创建 424 
  16-3-2 类引用作为方法的参数 426 
  16-3-3 控件的动态复制 427 
  16-4 本章小结 428 
  第17章 属性与事件 429 
  17-1 属性 430 
  17-1-1 引入属性的意义 430 
  17-1-2 属性的访问说明 431 
  17-1-3 属性的存储说明 434 
  17-2 属性的类型 435 
  17-2-1 简单类型的属性 435 
  17-2-2 布尔类型与枚举类型的属性 436 
  17-2-3 集合类型的属性 437 
  17-2-4 对象类型的属性 437 
  17-2-5 数组类型的属性 438 
  17-3 高级属性特性 441 
  17-3-1 属性的索引说明 441 
  17-3-2 属性的覆盖与重定义 442 
  17-3-3 窗体类的属性声明 444 
  17-4 方法指针与事件 445 
  17-4-1 方法指针类型 445 
  17-4-2 事件 447 
  17-4-3 事件的基本用法 448 
  17-5 本章小结 451 
  第18章 运行时类型信息 453 
  18-1 rtti的理论基础 454 
  18-1-1 rtti的定义 454 
  18-1-2 rtti的意义 454 
  18-2 获取持久类rtti 456 
  18-2-1 基本rtti数据结构 456 
  18-2-2 程序基本逻辑 459 
  18-2-3 动态创建持久类对象实例 460 
  18-2-4 获取类类型rtti 460 
  18-2-5 获取类继承层次rtti 462 
  18-2-6 类注册 463 
  18-3 rtti检索 463 
  18-3-1 获取指向rtti的指针 464 
  18-3-2 使用ttreeview组件 464 
  18-3-3 rtti字符串的层次结构 466 
  18-3-4 获取rtti字符串 468 
  18-4 类类型rtti检索 471 
  18-4-1 获取类rtti 471 
  18-4-2 属性信息数据结构 472  18-4-3 获取类详细信息 473  18-4-4 获取属性信息 474 
  18-5 方法类型rtti检索 476  18-5-1 获取方法rtti 476  18-5-2 获取方法定义 476 
  18-6 其他类型rtti检索 478  18-6-1 序数rtti检索 479  18-6-2 动态数组rtti检索 480  18-6-3 接口rtti检索 481  18-6-4 属性与事件的继承层次 481  18-6-5 关于classwalker的余话 483 
  18-7 本章小结 483 
  第19章 基本组件开发技术 485 
  19-1 组件开发的基本方法 486  19-1-1 理解组件的三个视角 486  19-1-2 需要进行组件开发的场合 486  19-1-3 组件开发的基本途径 486  19-1-4 组件开发的基本流程 488 
  19-2 由现有组件派生新组件 489  19-2-1 创建简单组件 489  19-2-2 修改组件类 490  19-2-3 测试新组件 494  19-2-4 注册新组件 499  19-2-5 组件图标 499 
  19-3 组件包 500  19-3-1 包的基本概念与类型 500  19-3-2 包文件 501  19-3-3 创建包 502  19-3-4 包的组织与管理 503 
  19-4 由tcustomcontrol类派生新组件 506  19-4-1 使用组件专家创建新组件 507  19-4-2 添加属性声明 507  19-4-3 组件的构造方法与析构方法 508  19-4-4 字体调整 510 
  19-5 由tcomponent类派生设计时不可见组件 510  19-5-1 创建tjudate组件 511  19-5-2 添加ondatechange事件 514  19-5-3 实现tjudate组件的构造方法 514  19-5-4 指定组件的输入目录 515  19-5-5 使用tjudate组件 515 
  19-6 本章小结 517 
  第20章 高级组件开发技术 519 
  20-1 属性类别 520  20-1-1 创建属性类别的基本方法 520  20-1-2 创建属性类别的opentoolsapi 522  20-1-3 属性类别的实现技术 524 
  20-2 属性编辑器 525  20-2-1 属性编辑器类 526  20-2-2 属性值的编辑 529  20-2-3 属性编辑器的特征 533  20-2-4 属性编辑器的注册 534  20-2-5 使用对话框编辑属性 535 
  20-3 组件编辑器 539  20-3-1 组件编辑器类 539  20-3-2 缺省组件编辑器类 540  20-3-3 简单的组件编辑器 541  20-3-4 组件编辑器的注册 543 
  20-4 本章小结 544 
  第21章 组件持久性 545 
  21-1 实现组件流的辅助类 546  21-1-1 tfiler类 546  21-1-2 treader类 548  21-1-3 twriter类 551  21-2 未发布普通属性的流操作 552  21-2-1 创建tjudefpropcomp组件 553  21-2-2 属性的读过程与写过程 554  21-2-3 使用tjudefpropcomp组件 555 
  21-3 未发布二进制属性的流操作 556  21-3-1 创建tjuwaveplayer组件 556  21-3-2 创建tjuwaveplayer组件的属性编辑器 561  21-3-3 使用tjuwaveplayer组件 563 
  21-4 本章小结 564 
  第22章 接口与com 565 
  22-1 接口的一般概念 566  22-1-1 接口与类 566  22-1-2 接口的声明 566  22-1-3 接口的使用方法 568  22-1-4 接口的属性 570 
  22-2 接口的实现 571  22-2-1 接口的继承实现 571  22-2-2 接口的类类型属性委托实现 572  22-2-3 接口的接口类型属性委托实现 575  22-2-4 接口的引用 576  22-2-5 接口的赋值与类型适应 577 
  22-3 接口的多态性 577  22-3-1 接口的继承层次 577  22-3-2 类的继承层次 578  22-3-3 接口的多态 580  22-3-4 接口方法的重命名 582 
  22-4 基础com编程 583  22-4-1 com简史 583  22-4-2 com基本概念 583  22-4-3 com对象 584  22-4-4 com类厂 586  22-4-5 com服务器 586  22-4-6 注册com服务器 589  22-4-7 测试com服务器 590 
  22-5 本章小结 591 
  第23章 扩展delphi/kylix ide 593 
  23-1 open tools api 594  23-1-1 open tools api简史 594  23-1-2 open tools api的体系结构 595  23-1-3 ota主要接口概述 596 
  23-2 ide向导 598  23-2-1 文本查找 598  23-2-2 iotawizard接口 600  23-2-3 ide向导 601  23-2-4 ide向导dll 604  23-3 消息通知器 604  23-3-1 实现iotaidenotifier接口 604  23-3-2 注册消息通知器 606 
  23-4 本章小结 607 
  第四部分 操作系统核心编程
  第24章 消息与消息处理 611 
  24-1 windows消息机制 612  24-1-1 消息的基本概念 612  24-1-2 消息处理 613 
  24-2 delphi消息处理机制 614  24-2-1 delphi消息记录 614  24-2-2 vcl消息处理过程 615  24-2-3 消息的返回值 615 
  24-3 消息的分类 616  24-3-1 windows标准消息 616  24-3-2 控件通知消息 617  24-3-3 自定义消息 617 
  24-4 消息与事件 618  24-4-1 消息的发送 618  24-4-2 vcl消息处理流程 619  24-4-3 消息与事件的关系 623 
  24-5 消息的拦截 624  24-5-1 子类化窗口过程 624  24-5-2 窗口方法映射 626  24-5-3 窗口钩 628 
  24-6 本章小结 630 
  第25章 操作系统信息检索 631 
  25-1 操作系统版本信息 632  25-1-1 getversionex函数与tosversioninfo记录 632  25-1-2 tosversioninfoex记录 633  25-1-3 实现showsystemversion方法 635  25-1-4 访问注册表 637  25-1-5 结果输出 638 
  25-2 计算机名称信息 639  25-2-1 getcomputernameex函数 639  25-2-2 showcomputernames方法 640  25-3 硬件信息 640  25-3-1 getsysteminfo函数与tsysteminfo记录 641  25-3-2 showhardware方法 641  25-4 系统配置信息 642  25-4-1 一般信息检索 643  25-4-2 环境变量串检索 644 
  25-5 内存状态信息 645  25-5-1 tmemorystatus记录 646  25-5-2 实现showmemorystatus方法 646 
  25-6 系统度量制信息 647 
  25-7 本章小结 648 
  第26章 动态链接库 649 
  26-1 dll基础 650  26-1-1 dll与动态链接 650  26-1-2 dll与exe 651  26-1-3 dll的基本意义 651 
  26-2 使用dll 652  26-2-1 隐式调用 652  26-2-2 显式调用 653 
  26-3 创建dll 654  26-3-1 dll中的窗体 654  26-3-2 dll中的无模式窗体 656  26-3-3 编写dll的基本原则 657 
  26-4 钩与dll 659  26-4-1 windows钩 659  26-4-2 定义钩数据结构 661  26-4-3 wh_mouse钩 662  26-4-4 钩的安装与脱离 664  26-4-5 dll入口点 665  26-4-6 使用hookdll 665  26-5 本章小结 667 
  第27章 进程与内核对象 669 
  27-1 进程的基础知识 670  27-1-1 进程的基本概念 670  27-1-2 进程的实例句柄 670  27-1-3 进程的命令行 671  27-1-4 进程的环境变量 671  27-1-5 进程的目录 672  27-1-6 createprocess函数 672  27-1-7 exitprocess函数与terminateprocess函数 673  27-1-8 子进程的创建与消亡 673 
  27-2 windows内核对象 675  27-2-1 内核对象的典型特征 675  27-2-2 内核对象类型与内核句柄表 677  27-2-3 内核对象的创建与关闭 677  27-2-4 进程间的内核对象共享 679 
  27-3 进程枚举 683 
  27-4 进程间通信 686  27-4-1 进程间通信问题及其基本实现策略 686  27-4-2 wm_copydata消息 686  27-4-3 进程间的数据传输 687 
  27-5 本章小结 690 
  第28章线程 691 
  28-1 线程的基础知识 692  28-1-1 进程与线程 692  28-1-2 宜使用多线程的场合 692  28-1-3 不宜使用多线程的场合 693  28-1-4 线程的调度与优先级 693 
  28-2 vcl线程对象 694  28-2-1 tthread类 694  28-2-2 使用tthread类 695  28-2-3 线程对象的构造与释放 696  28-2-4 线程函数 696  28-2-5 线程的终止与异常 697 
  28-3 vcl线程同步机制 698  28-3-1 synchronize方法 698  28-3-2 lock方法与unlock方法 700  28-3-3 tcriticalsection类 701  28-3-4 tmultireadexclusivewritesynchronizer类 703  28-3-5 tevent类与tsimpleevent类 703  28-3-6 waitfor方法 705  28-4 windows线程内核对象 709  28-4-1 tthread类的构造与createthread函数 710  28-4-2 线程的终止 712  28-4-3 线程与进程的标识 713  28-4-4 线程的调度与优先级 716  28-4-5 线程消息队列 718 
  28-5 windows线程同步机制 719  28-5-1 tevent类与事件内核对象 720  28-5-2 互斥内核对象 720  28-5-3 信号量内核对象 722  28-5-4 互锁函数族 724 
  28-6 线程局部存储 724 
  28-7 本章小结 724 
  第29章 文件与文件系统 725 
  29-1 文件系统信息检索 726  29-1-1 逻辑驱动器 726  29-1-2 卷 727  29-2 文件与目录基本操作 729  29-2-1 外壳组件 729  29-2-2 shfileoperation函数 730  29-3 文件与目录高级操作 733  29-3-1 文件属性 733  29-3-2 文件查找 733  29-3-3 文件变化通知 735 
  29-4 本章小结 736 
  第30章 虚拟内存 737 
  30-1 windows nt/2000/xp的虚拟地址空间布局 738 
  30-2 虚拟内存管理 745 
  30-2-1 保留与提交 745 
  30-2-2 共享内存与文件映射对象 745 
  30-2-3 保护属性 746 
  30-2-4 写时复制 746 
  30-3 memtouch程序 747 
  30-3-1 virtualquery函数与virtualqueryex函数 747 
  30-3-2 virtualmemoryquery函数与virtualmemorywalk函数 748 
  30-3-3 gettokens过程 750 
  30-4 vmquery动态链接库 751 
  30-4-1 tvirtualmemoryinformation记录 751 
  30-4-2 实现virtualmemorywalk函数 752 
  30-4-3 实现virtualmemoryquery函数 753 
  30-4-4 实现getmemoryinformation过程 757 
  30-4-5 dll的映像基地址 760 
  30-5 堆栈与虚拟内存分配 761 
  30-5-1 栈 761 
  30-5-2 堆 762 
  30-5-3 虚拟内存分配 762 
  30-6 本章小结 764 
  第31章 区域对象与进程间通信 765 
  31-1 区域对象 766 
  31-1-1 区域对象的基本概念 766 
  31-1-2 创建区域对象 767 
  31-1-3 映射视图 768 
  31-1-4 解除视图映射与关闭区域对象 769 
  31-2 dll与数据共享 769 
  31-2-1 实现mapping动态链接库 769 
  31-2-2 实现读进程与写进程 772 
  31-3 tjusectionobject类族 773 
  31-3-1 实现tjusectionobject类 773 
  31-3-2 实现tjumemmapping类 779 
  31-3-3 实现tjufilemapping类 782 
  31-4 远程注入dll与进程间通信 787 
  31-4-1 进程间通信:子类化 787 
  31-4-2 进程间通信:钩 787 
  31-4-3 创建远程线程 788 
  31-4-4 远程进程虚拟内存信息检索 794 
  31-5 本章小结 798 
  第五部分附录
  附录a 常用delphi/kylix常量、变量、函数与过程 803 
  a-1 应用程序级信息 804 
  a-2 数学运算 804 
  a-3 组件注册与open tools api 805 
  a-4 日期与时间 805 
  a-5 文件与文件管理 807 
  a-6 流操作 807 
  a-7 字符与字符串操作 808 
  a-8 类型转换 809 
  附录b delphi/kylix编译指示与工程选项 811 
  附录c 跨平台开发 815 
  c-1 从windows到linux的标准移植步骤 816 
  c-2 clx与vcl的差异 820 
  c-3 windows与linux的差异 821 
  c-3-1 环境差异 822 
  c-3-2 目录差异 823 
  c-4 编写可移植代码的一般原则 824  c-4-1 一般原则 824 
  c-4-2 使用条件编译指令 824 
  c-4-3 位置无关代码与位置相关代码 826 
  c-4-4 消息与系统事件 826 
  附录d 程序调试 829 
  d-1 程序错误的种类 830 
  d-2 基本程序调试手段 830 
  d-2-1 设置调试工具选项 830 
  d-2-2 控制程序执行 832 
  d-2-3 使用断点 833 
  d-2-4 检查变量和表达式的值 835 
  d-2-5 检查函数和过程调用 837 
  d-2-6 检查局部变量 838 
  d-3 高级程序调试手段 838 
  d-3-1 检查线程状态 838 
  d-3-2 检查cpu状态 839 
  d-3-3 检查fpu状态 840 
  d-3-4 检查模块的装入与卸载 841 
  d-3-5 检查事件日志 842 
  附录e delphi/kylix ide错误一览表 845 
  e-1 编译错误信息 846 
  e-2 运行时错误信息 852 
  e-2-1 i/o错误:错误编号为100~149 852 
  e-2-2 致命错误:错误编号为200~255 852 
  e-2-3 操作系统错误 853 附录f 名词与术语索引 869 
  附录g 参考文献与深入读物 883

猜你喜欢

转载自ozh06ozh.iteye.com/blog/1361867
017