掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
動的配列でメモリリークを防ぐには? (ID:15614)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Integerには'001'は入らないですよね :) それと、予約語を変数名にすると後々見づらくなります。 # IDEでメッセージのトラップするとmessageって予約語を引数にしてしまうのですが^^; では本題。 SetLengthのほうがメモリ確保・解放が楽なのですが、移動は不便です。 TListにしたほうが簡単ですね。 var List: TList; rec: PRecord; i: integer; begin List := TList.Create; New(rec); rec.ID := 1; rec.Name := 'aaa'; List.Add(rec); New(rec); rec.ID := 2; rec.Name := 'bbb'; List.Add(rec); New(rec); rec.ID := 3; rec.Name := 'ccc'; List.Add(rec); List.Delete(1); for i := 0 to List.Count - 1 do begin Memo1.Lines.Add(IntToStr(PRecord(List[i])^.Id) + ':' + PRecord(List[i])^.Name); end; for i := 0 to List.Count - 1 do begin Dispose(List[i]); end; List.Free; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.