gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:59:42 24 4
gpt4 key购买 nike

我们有一个应用程序,通过从 TPersistent 继承来将项目信息存储在文件中。我们使用 TSteam.ReadComponentRes 从流读取对象。

我们希望能够打开具有未知属性的项目文件(来自应用程序的较新版本或其他开发分支)。目前,这会导致由 TStream 创建的 TReader 出现异常。我们考虑过创建一个 TStream 后代,它使用 TReader 后代来处理此异常而不是停止读取。有人能想出一种更优雅的方法吗?

最佳答案

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

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

关于delphi - 从流中读取对象时忽略未知属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6265827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com