掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
オブジェクトの開放について (ID:30982)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DELPHI2007を使っています。 StringGridのある列に隠し項目としてクラスを貼り付けています。 フォームを閉じるときに欠く全行に貼り付けたクラスを解放(free)しているのですが、 プログラム中、画面クリアボタンを押したときにStringGridをクリア する処理をしていますが、そのときにもfreeをしています。 行をクリアしたとき、1行ほど残していますが、その際その残った1行は freeをかけた状態。そのまま画面を閉じるときに再度freeがかかってしまい ポインタエラーが発生してしまいます。 できればcloseイベントが発生したときにfreeをかける際、その行はオブジェクトが張り付いているかどうか聞きたいのですが、IsObjectという関数はないのでしょうか? ↓グリッドに貼り付けているロジック procedure Tfrm_main.SetObjectGrid(iRow: Integer); var GridData: TGridData; ←自分で定義したオブジェクト begin flgObject := true; GridData := TGridData.Create(); StringGrid1.Objects[0, iRow] := GridData; end; ↓オブジェクト開放ロジック procedure Tfrm_main.FreeObject; var i: Integer; str :ShortString; begin for i := 1 to stgPerson.RowCount - 1 do if (オブジェクトが開放されていなければ)then ←ここの判定方法 StringGrid1.Objects[0, i].Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.