作成したコンポーネントに、メイン フォームのパネルを渡します。
以下は、非常に単純化された例です。
procedure TMy_Socket.StatusPanel_Add(AStatusPanel: TPanel);
このコンポーネントは、必要に応じてパネルのキャプションを更新します。
私のメイン プログラムでFreeAndNil
は、次にコンポーネントがパネルを更新しようとすると、AV が発生します。理由はわかりました。コンポーネントのパネルへの参照が未定義の場所を指しています。
パネルが解放されて参照できないことがわかっている場合、コンポーネント内でどのように検出できますか?
試してみif (AStatusPanel = nil)
ましたが、そうではありませんnil
。まだアドレスがあります。