フォームを開くと、突然エラー メッセージが表示されます。
"フォームの読み取りエラー: 'X'"
キャッシュが初期化されていません。最初に TCache.Initialise を呼び出す必要があります。エラーを無視して続行しますか? 注: エラーを無視すると、コンポーネントが削除されるか、プロパティ値が失われる可能性があります"
「キャッシュが初期化されていません」ビットは、クラスの 1 つによって発生する例外です。
私の最初の質問は、「プログラムの実行」を要求せずに Delphi IDE が私のコードを実行するのはなぜですか? どのコードを実行しますか? これをオフにする方法はありますか?
第二に、このエラーをデバッガーでトラップして、コール スタックのどこでこの例外が発生したかを特定する方法はありますか? 例外がスローされる場所にブレークポイントを設定しようとしましたが、Delphi はそれを無視します。
また、この例外がどこから来ているのかを突き止めたら、「デザインモード」になっていて、そのコードを実行していないか、別のコードを実行しているのかを知る方法はありますか? または、デザイン モードの場合は、そのコードをまったく実行しないでください。[更新: デザイン モードで実行中のコードを停止する方法については、Francois の回答を参照してください。]