- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
问题:Delphi的持续机制浅探(积分:100,回复:10,阅读:237)
分类:ObjectPascal(版主:menxin,cAkk)
来自:savetime,时间:2004-1-244:22:00,ID:2421751Delphi的持续机制浅探
savetime2k@ 2004.1.24
目录
[显示:小字体|大字体]
===============================================================================
DFM文件与持续机制(persistent)
ReadComponentResFile/WriteComponentResFile函数
Delphi持续机制框架简述
一个TForm对象的创建过程
TStreamClass和TStream.ReadComponent方法
TReaderClass和TReader.ReadRootComponent方法
TReader.ReadPrefix方法
TComponent.ReadState虚方法
TReader.ReadData方法
TReader.ReadDataInner方法
TReader.ReadProperty方法
TPersistent.DefineProperties虚方法
TReader.ReadComponent方法
TReader.ReadValue/TReader.NextValue系列方法
TReader.ReadStr方法
TReader.ReadInteger/ReadString/ReadBoolean系列方法
TReader.Read方法
ObjectBinaryToText/ObjectTextToBinary函数
===============================================================================
本文排版格式为:
正文由窗口自动换行;所有代码以80字符为边界;中英文字符以空格符分隔。
(作者保留对本文的所有权利,未经作者同意请勿在在任何公共媒体转载。)
正文
===============================================================================
DFM文件与持续机制(persistent)
===============================================================================
我们在使用Delphi的IDE进行快速开发的时候,可以方便地从元件面板上拖放元件(component)至表单,完成表单的界面和事件设计。Delphi将这些界面的设计期信息保存在表单相应的DFM文件中,方便程序员随时读取和修改。
DFM文件根据元件在表单上的嵌套层次存放元件属性,以下是一个DFM文件的示例:
objectForm1:TForm1
...
Left=192
Top=107
Width=544Caption=Form1
objectButton1:TButtonLeft=24
Top=16
Caption=Button1
OnClick=Button1Clickend
...
end
应用程序编译之后,DFM文件的信息被二进制化了,这些二进制信息存储在应用程序的资源(resource)段中。每个表单(也就是 class)及表单上的元件在资源段中存储为与表单同名的资源,可以使用FindResourceAPI获得。应用程序在运行期创建表单实例的时候,会从资源段中读取表单的属性,还原设计期的设置。这种将类型信息保存在文件中,并且可以在运行期恢复类型的操作,在本文中被称之为持续(persistent)机制。持续机制是Delphi成为RAD工具的原因之一。
持续机制和RTTI是紧密结合的,但本文不讨论RTTI(关于RTTI可参考我前几天写的两篇笔记),只讨论实现持续机制的总体框架及相关类(class)。这些类包括TStream、TFiler、TReader、TWriter、TParser、TPersisetent、TComponent、TCustomForm等。
===============================================================================
ReadComponentR
您可能关注的文档
最近下载
- 民用建筑通用规范GB55031-2022(完整清晰版).pdf
- SY_T 4113.1-2018 管道防腐层性能试验方法 第1部分:耐划伤测试.docx VIP
- 江苏省无锡市江阴市长泾片2024-2025学年七年级上学期期中考试语文试题(含答案).pdf VIP
- 燃气安全日常巡检与维护方法.pptx
- 市直机关单位整治群众身边不正之风问题集中整治工作阶段性工作总结.docx VIP
- 地下连续墙施工方案(附:工程临时用电施工方案).doc
- 汽轮发电机组转子找中心计算公式.xls VIP
- 惠州市高2024届高三第二次调研考试政治试卷(含答案).docx
- SY∕T 4113.8-2020 管道防腐层性能试验方法 第8部分:耐磨性能测试.pdf
- HRN日本报知机百仕达五斯消防主机操作说明书.pdf
文档评论(0)