代码之家  ›  专栏  ›  技术社区  ›  rajeemcariazo

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

  •  7
  • rajeemcariazo  · 技术社区  · 14 年前

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

    4 回复  |  直到 12 年前
        2
  •  6
  •   splash    14 年前

    如果你问的话 “我们能在德尔福做这个吗?” -答案是: . 我想你想知道,在德尔福是怎么做到的?嗯,这要看你想要什么 序列化 :

    如果要序列化

    • 你自己的数据对象,然后你可以 编写自己的saveto/loadfrom函数
    • 组件,然后您可以使用内置的 component streaming system
    • 任何未知对象,那么你需要一些 RTTI 技术和对象必须发布其可序列化属性
        3
  •  3
  •   Community CDub    8 年前

    安德烈链接到的第一篇文章似乎(也许我略读到了fast)使用了“旧”的2010年前风格的rtti(运行时类型信息),它依赖于已发布可见性的属性,以便能够枚举它们。

    截至2010年,Delphi有一个全新的扩展rtti(建立在旧的rtti之上),它不需要发布的可见性,并且做的不仅仅是枚举属性。dehl,如第二篇链接到be andre的文章中所描述的,确实使用了新的rtti,如果您正在寻找一个库,我也会推荐这个库。

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

    Robert Love对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,Values Why should I care about RTTI in Delphi?

        4
  •  2
  •   Doug Johnson-Cookloose    14 年前

    本机XML NativeXML website 能够以XML格式存储/检索对象,这为您提供了对RTTI方法的额外操作能力。对XML文档的快速和简单操作以及保存/加载持久对象的附加功能。