Q&A

  • 창을 닫는 방법을 알고 싶습니다.
그냥 창은 잘 닫히는데 MDI속 자식창은 안닫아져요.

그리고 문제는 한번 실행한 것은 메모리에서 지워지지 않았나 봐요. 창 몇개를 열면 다운되어 버리는 군요. 해결책좀 부탁드립니다.



1  COMMENTS
  • Profile
    남중희 2000.04.04 19:08
    mad wrote:

    > 그냥 창은 잘 닫히는데 MDI속 자식창은 안닫아져요.

    > 그리고 문제는 한번 실행한 것은 메모리에서 지워지지 않았나 봐요. 창 몇개를 열면 다운되어 버리는 군요. 해결책좀 부탁드립니다.

    >

    저도 초보라서 도움이 될지는 모르지만 그래도 혹시나.......

    MDI에 대해서는 잘 모르겠고요. 폼 인스턴스에 대해서 입니다.



    저는 폼을 실행시킬때

    if not Assigned(폼이름-유니트이름아님) then // 폼의 인스턴스가 없으면

    폼이름 := T폼이름.Create(Application); // 인스턴스 생성

    폼이름.show; // 헤헤 쉽죠 but 그러나 폼의 종료도 정확히 할 필료가 있을 걸요





    form 종료시에

    onClose 이벤트는...

    Action := caFree; // 폼이 닫히면 폼 인스턴스를 해제한다.

    onDestroy 이벤트는...

    self := nil; // 폼이 파괴될 때 nil을 설정한다

    // 'self'라고 적으면 아주 편한 점이 많지만 종종 project 옵션등의

    설정에 따라서 컴파일시 경고를 보게 됩니다. 이상황을 정확히

    이해할 때 까지는 직접 폼이름을 적어주는게 속은 편하죠.