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

前端之家收集整理的这篇文章主要介绍了delphi – 从流中读取对象时忽略未知属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个应用程序,它通过TPersistent的降序将项目信息存储在一个文件中.我们使用TSteam.ReadComponentRes从流中读取对象.

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

解决方法

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

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

原文链接:https://www.f2er.com/delphi/101213.html

猜你在找的Delphi相关文章