如何在Delphi中将对象保存到文件中

时间:2010-09-20 09:23:13

标签: delphi

在Java中,可以将可序列化对象保存到文件并从该文件加载对象。我们可以在Delphi中这样做吗?如果是,怎么样?

4 个答案:

答案 0 :(得分:6)

如果您问“我们可以在Delphi中执行此操作吗?” - 答案是:。我想你想知道,如何在Delphi中完成?那么这取决于你想要序列化

如果要序列化

  • 您自己的数据对象,然后就可以 编写自己的saveTo / loadFrom函数
  • 组件,然后您可以使用内置的component streaming system
  • 任何未知对象,那么您需要一些RTTI技术,并且对象必须发布其可序列化属性

答案 1 :(得分:4)

答案 2 :(得分:3)

安德烈链接的第一篇文章似乎(可能是我快速浏览)使用“旧的”前D2010样式RTTI(运行时类型信息),这取决于已发布可见性的属性,以便能够列举它们。

从D2010开始,Delphi有一个全新的扩展RTTI(建立在旧版本之上),它不需要发布可见性,并且不仅仅枚举属性。 DeHL,如第二篇文章中描述的链接为Andre,确实使用了新的RTTI,如果您正在寻找一个库,我也会推荐这个库。

如果您更喜欢自己构建,可以使用Robert Love的新RTTI查看有关XML序列化的文章:http://robstechcorner.blogspot.com/2009/10/xml-serialization-basic-usage.html

罗伯特·洛夫也对RTTI文章有一个很好的概述:http://robstechcorner.blogspot.com/2009/09/so-what-is-rtti-rtti-is-acronym-for-run.html

关于新款RTTI可以做些什么的更多想法,请看看

Practical usage for Delphi's new RTTI - Attributes,ValuesWhy should I care about RTTI in Delphi?

答案 3 :(得分:2)

NativeXML NativeXML website能够以XML格式存储/检索对象,这使您可以通过RTTI方法获得额外的操作功能。快速轻松地处理XML文档以及保存/加载持久对象的附加功能。