掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridのObjectsの破棄について (ID:40047)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>使いようによっては 面倒ですね そんなことはない TObject に保存するレコードを TStringGridRecord = record end; として StringGrid.RowCount を直接操作しないで procedure ChangeRow(StringGrid: TStringGrid; ARowCount: Integer); var R,C: Integer; P: ^TStringGridRecord; begin if StringGrid.RowCount = ARowCount then begin //変化が無い end else if StringGrid.RowCount > ARowCount then begin //減る for R := ARowCount to StringGrid.RowCount -1 do begin for C := 0 to StringGrid.ColCount -1 do begin FreeMem(Pointer(StringGrid.Objects[C,R])); StringGrid.Objects[C,R] := TObject(0); end; end; end else begin //増える for R := StringGrid.RowCount to ARowCount -1 do begin for C :=0 to StringGrid.ColCount -1 do begin GetMem (P,SizeOf(TStringGridRecord)); StringGrid.Objects[C,R] := TObject(P); end; end; end; StringGrid.RowCount := ARowCount; end; で StringGrid.RowCount を操作
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.