2012-11-23 6 views
1

Show 이벤트의 양식에 구성 요소를 동적으로 생성하고 있습니다. 다음 번 OnShow 이벤트에서 컴포넌트를 다시 생성해야하므로 Close 이벤트에서 모든 컴포넌트를 분산시켜야합니다. 여기서, 구성 요소의 수는 데이터 행의 수에 따라 변경된다. 나는 양식의 구성 요소를 처리하는 방법

this->DestroyComponents(); 
this->Close(); 

을 사용하지만 난 그 중 하나를 호출 다음에 액세스 위반 또는 구성 요소를 보여줍니다 때 전혀 잘 구성 요소를 처리하지 않은 원인에 이미 '메시지가 존재하고있다.

양식을 올바르게 처리하는 방법은 무엇입니까?

+0

또는 \t'Action = caFree;'??? –

+0

그러면 TForm 자체가 해제됩니다. –

답변

1

TList 또는 TObjectList와 같이 사용자가 만든 구성 요소를 추적하고 필요할 때 루프를 반복하여 각 구성 요소에 delete을 호출해야합니다.

+0

폼의 인스턴스를 하나 더 만들고 이제는 괜찮습니다! –

관련 문제