6

TPersistent から派生して、プロジェクト情報をファイルに保存するアプリケーションがあります。TSteam.ReadComponentRes を使用して、ストリームからオブジェクトに読み込みます。

不明なプロパティを持つプロジェクト ファイルを開くことができるようにしたいと考えています (アプリケーションの新しいバージョンまたは他の開発ブランチから)。現在、これにより、TStream によって作成される TReader で例外が発生します。読み取りを停止する代わりに、この例外を処理する TReader の子孫を使用する TStream の子孫を作成することを検討しました。これを行うためのよりエレガントな方法を考えられる人はいますか?

4

1 に答える 1

9

Stream.ReadResHeader を呼び出し、TReader インスタンスを作成し、その OnError イベントを設定して、Reader.ReadRootComponent を呼び出し、リーダーを解放します (つまり、TStream.ReadComponentRes の動作を模倣します)。

OnError イベント ハンドラー内で、handled := true を設定できます。

于 2011-06-07T13:46:43.097 に答える