加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 从流中读取对象时忽略未知属性

发布时间:2020-12-15 04:31:57 所属栏目:大数据 来源:网络整理
导读:我们有一个应用程序,它通过TPersistent的降序将项目信息存储在一个文件中.我们使用TSteam.ReadComponentRes从流中读取对象. 我们希望能够打开具有未知属性的项目文件(来自我们应用程序的较新版本或其他开发分支).目前,这导致TReader中的异常,该异常由TStream
我们有一个应用程序,它通过TPersistent的降序将项目信息存储在一个文件中.我们使用TSteam.ReadComponentRes从流中读取对象.

我们希望能够打开具有未知属性的项目文件(来自我们应用程序的较新版本或其他开发分支).目前,这导致TReader中的异常,该异常由TStream创建.我们考虑过制作一个TStream后代,它使用TReader后代来处理这个异常,而不是停止阅读.谁能想到更优雅的方式呢?

解决方法

调用Stream.ReadResHeader,创建一个TReader实例,设置其OnError事件并调用Reader.ReadRootComponent并释放阅读器(即模仿TStream.ReadComponentRes的行为).

在OnError事件处理程序中,您可以设置processed:= true.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读