|
문제는 해당 TImage의 OnDblClick 이밴트 핸들러를 작동시키는(호출하는) 매서드가 실행되고 있는 상태에서 해당 객체를 삭제한데서 비롯된 것으로 보입니다.
아래의 작업을 하는 장소가 아마도 폼에 있는 TImage의 OnDblClick 이밴트 핸들러일텐데요.
그 이밴트 핸들러를 누가 호출하겠습니까?
TImage의 매서드겠죠.
최영렬 님이 쓰신 글 :
: 일단 폼에 마우스 더블 클릭 이벤트가 들어올때마다 스크롤 박스에
: 패널을 생성하고 TList의 Add함수를 사용하여 주소값을 저장한후,
: 위에 생성된 패널을 부모로하여 이미지를 생성하고, 또 다른 TList에
: Add 합니다.
:
: 생성된 이미지들에는 더블 클릭 메세지 핸들러를 지정하여 특정
: 이미지 위에 더블 클릭 메세지가 들어올 경우 생성된 이미지와
: 패널을 순서대로(이미지->패널) delete 합니다. 그리고 각각의 TList에서
: Delete 함수를 사용하여 리스트에 저장된 각각의 주소값을들 삭제합니다.
:
: 그런데 이 과정에서 자꾸 억세스 바이올레이션이 뜨는군요. 그것도 delete 순간이 아니라
: 함수의 마지막 블럭을 넘어가서 자꾸 그런 현상이 일어나는 군요...
:
: 혹시 부모마저 동적 할당된 컴포넌트는 다른 식으로 삭제해야 하는지 궁금합니다...
:
: 경험있는 여러분의 도움을 바랍니다...
:
: 그럼 이만....
:
:
|