名前 題名 ▼ Mr.XRAYさん > シンプルなテストプログラムの作成と直接は関係ないかもしれませんが, > > [自動生成していないFormからの参照のエラーを回避するには?] > http://hpcgi3.nifty.com/e-papy/DelphiBBS/wwwlng.cgi?print+201505/15050004.txt > > ちょっとチェックしようと思って,以下で,つまづいてしまいました. > > procedure TForm2.ButtonListDispClick(Sender: TObject); > var > i : integer; > item : TListboxItem; > begin > with Form3 do begin > //リストをクリア > SelectList.Clear; //ここでエラーになる > SelectList.BeginUpdate; > 〜したい処理 省略〜 > > end; //with > end; > > まず,with 文です.多分 Form3.SelectList だと思うのですが, > そうでなく,TForm3 以外のメンバを書く人もいます. > その下に 〜したい処理 省略〜 というのがあります. > シンプルなテストというのは,あくまでもシンプルにし方がいいのです. > 省略はいけません.その省略したところが問題だった. > というのは,最近もありまました.これでは問題の切り分けには不十分です. > その 〜したい処理 省略〜 の中には,with にかかっているのと > そうでないのがごちゃまぜになっている可能性もあります. > > with 文も,確実にそれとわかるものだけにしないと,結構悩みの元になります. > with 文内のプロパティ,メソッド,オブジェクトが全て,with 文の元の > オブジェクトにかかっている場合,あるいは,確実に係ることはないと, > 明確にわかる場合に限って with 文内に書かないと, > とんでもないことになることがあります. > > 自分で分かっている場合はいいのですが, > 他の人に教えてもらうという場合は,改めてシンプルなコードを作成した方が > いいのではないかと思います. > 省略はダメです.コピペして動作するものが必要です. > 特に私の場合,頭が悪いので,具体的でないとダメですね. > > というわけで,チェックは中止しました. > > > 参考 > http://www.gesource.jp/weblog/?p=6025 > (with文は使わない というのがあります) > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link