필자는 작성한 구성 요소를 기본 폼에 패널로 전달합니다. 여기구성 요소가 해제되었음을 어떻게 감지합니까?
은 매우 단순화 된 예입니다
procedure TMy_Socket.StatusPanel_Add(AStatusPanel: TPanel);
필요에 따라이 구성 요소는 다음 패널 캡션을 업데이트합니다.
내 주 프로그램에서 다음 번에 구성 요소가 패널을 업데이트하려고하면 FreeAndNil
패널에 AV가 표시됩니다. 이유에 대해 이해합니다. 이제 구성 요소의 패널 참조가 정의되지 않은 위치를 가리키고 있습니다.
패널이 해제되어 참조 할 수 없다는 것을 알면 구성 요소 내에서 어떻게 감지 할 수 있습니까?
나는 if (AStatusPanel = nil)
을 시도했으나 nil
이 아니며 여전히 주소가 있습니다.
@ 스티브 : 당신은 당신의'TMy_Socket' 클래스에 알림 PROC을 넣어. 문서 페이지 하단의 예를 확인하십시오. –