1

tfile ストリームのインスタンスが使用されているかどうかを確認する方法はありますか? たとえば、タイプ tfilestream の FS を宣言し、そこにバッファを書き込み、最後に tfilestream.free を使用してストリームを解放すると、次のように確認できます。

if 
tfilestream.NotActive
then
 //code
if tfilestream.beingused then
 //code
if tfilestream.free = true then
    //code

activeメソッドとbeingusedメソッドは実際には存在せず、 tfilestream.free = trueをテストすることもできません

4

1 に答える 1

16

あなたが期待する方法でそれを行うことはできません。しかし、あなたとそれを行うFreeAndNil()

var
  FS : TFileStream;
begin
  FS := TFileStream.Create(...);
  try
   // Do Work with TFileSTream 
  finally 
   FreeAndNil(FS);
  end;

  // For some reason you need to check FS is freed.

  if not Assigned(FS) then
  begin
   // Stream was freed.
  end;
end;
于 2010-07-27T17:04:51.410 に答える