|
안녕하세요.
폼이 있는 DLL을 작성했습니다.
총 3개의 폼을 작성했는데요
DLL의 노출함수중 Process 라는 함수에서 이 폼들을 생성하고 delete 하도록 하였습니다.
- TForm( NULL ) 형태로 생성합니다.
Process 함수에 delete를 하기위해 호출하는 부분은 각 폼들의 OnClose 이벤트와
TButton의 OnClick 이벤트입니다.
호출방식은 모두 같이 Process( DWORD FormNumber ) 이런 형태입니다.
delete 부분은 해당 폼이 생성되었는가를 판단하여 생성되었을시만 delete되도록 하였습니다.
생성 순서는 A, B, C의 고정방식입니다.
A, B, C 3개의 폼중 A, B폼은 OnClick 이벤트에서 호출된 Process 함수에 의해 메모리 오류없이 깨끗히 종료됩니다.
OnClose 이벤트에 의한 호출과 OnClick 이벤트에 의한 호출 모두 정상적입니다.
그런데...
C라는 폼은 OnClose에 의한 이벤트는 정상동작합니다.
C라는 폼의 C-A 버튼의 OnClick의 이벤트 역시 정상동작하는데
C-B 버튼의 OnClick의 이벤트는 메모리 오류를 발생하는데요
발생위치는 OnClick 함수의 종료점이며 반환점의 상실에의한 오류같습니다.
C-B버튼이 클릭되면 C-A버튼의 OnClick 이벤트로 이동하도록 하였을 경우에도 역시 오류가 발생합니다.
Obj파일을 삭제하고 재부팅해보고 아무리 해봐도 오류가 계속 발생하는데요..
처리 방법이 뭔가 부족할 수도 있다고 생각도 들고요 아무튼 이유가 궁금합니다.
혹시 비슷한 경험이 있으신분이 있으실까 조언을 얻고자 합니다.
전체 소스를 올리지 못하는 상황인점 죄송합니다. ㅠ.ㅠ
|