16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:RE^2:レコード型をTListで管理する"
この発言は #01298 らせん企画 さんのRE^2:レコード型をTListで管理する に対するコメントです
TList.Clear の override はD4からなので、Destructor で明示的に Clear
メソッドを実行して生成したオブジェクトを破棄するのは有効な手段だと思います。
実害はないし、見通しが良いので私はそうしてます。
D3,D2では override がコンパイルエラーになるので、
TMyList = class(TList)
...
procedure Clear; {$IFNDEF VER100}{$IFNDEF VER90} override; {$ENDIF}{$ENDIF}
としておいて
destructor TMyList.Destroy;
begin
Clear;
inherited Destroy;
end;
procedure TMyList.Clear;
var
I: Integer;
begin
for I := 0 to Count - 1 do
THogehoge(Items[i]).Free;
inherited Clear;
end;
と私なら書きまっせ。
本田勝彦@ブラウザでオン書き<仕事中(^^;
Original document by 本田勝彦 氏 ID:(VYR01647)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|