TMemoryStream の再使用

解決


幼稚園年長組  2007-04-30 23:44:46  No: 25986

ストリームの振る舞いが良く分らず首を傾げています。
  三つのストリームがあります。

  aS : データが格納してある TMemoryStream
  bS : 特殊なメソッドを持ったストリーム
      (具体的には Zlib の解凍ストリームです)
  cS : 変換されたデータを格納する TMemoryStream

  最初にデータを aS に格納し、それを bS.Method(aS); によって変換し、それを cS で受け取る、という流れです。首尾良く PNG 画像が TImage 上に表示されました。
  それは良いのですが、TMemoryStream を二つも使うのが勿体無い気がします。そこで aS を再使用することにして Free, Create を行ってから cS の代用に宛てました。しかし実行時エラーが出てしまいました。何故なのでしょう。
  どなたかお教え下さい。


「モッタイナイ」は国際語  2007-05-01 00:12:04  No: 25987

「コーディングにミスがある」のが濃厚ですが、もったいないと言っても
わずか4バイト。2個の変数に分けてもバチはあたらないかも。


幼稚園年長組  2007-05-01 02:53:04  No: 25988

回答有難う御座いました。
  ただ、回答を戴いておきながら申し訳ないのですが、実は私の質問自体が意味を成していませんでした。
  "bS.Method(aS); によって変換し" と書きましたのが私の粗忽で、bS はストリームからデータを読み込みながら別のストリームに変換データを流し込むというストリームでした。ですから、入り口=出口とすればエラーが出るのは当たり前です。
  お騒がせ致しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加