예를 들어 설명하겠습니다.
1. SDI 형식의 프로젝트입니다.
2. Form1이 프로젝트의 Main Form입니다.
3. Form2는 조회하면입니다.
4. Form3는 출력물디자인화면입니다.
5. fPewView는 사용자정의 미리보기화면입니다.
위와 같은 환경에서 작업을 합니다.
우선 Form1에서 Form2를 ShowModal형식으로 Call합니다.
그런후, Form2에서 Form3를 PreView로 Call합니다.
물론, Form3의 OnPreView Event에서 미리보기권한을 fPreView로 넘기지요.
이렇게 하면 사용자미리보기화면에 미리보기가 정상적으로 이루어집니다.
그런데 문제는 지금부터 입니다.
미리보기화면을 Close한 후에 Form2를 닫으려고 하면 말을 듣지 않습니다.
즉, Form2가 Close되지 않습니다.
물론 사용자미리보기화면인 fPewView를 이용하지 않고 델파이의 기본 미리보기화면
을 이용하면 아무런 문제가 없습니다.
그렇다고 fPewView에 특별히 별다른 이벤트가 있는 것도 아니구요.
제가 예전에 주로 MDI형식으로 개발할 때는 아주 잘 돌아가던 화면입니다.
참, 그리고 Form2를 ShowModal대신 Show로 Call을 한 경우에는 역시 잘 됩니다.
문제는 ShowModal로 열었을 경우입니다.
실력있는 여러분들의 도움을 바랍니다.
참고로 제가 테스트용으로 간단하게 만든 프로그램을 올립니다.
델파이 4.0버젼으로 QReport3.03입니다(델파이5에서도 같은 문제가 있을 듯 합니다).