Q&A

  • show로 보여준 폼이 종료되었는지
안녕하세요...

다들 감기 조심하고요...에취~ ㅜㅜ



다름이 아니라 resource문제로 프로그램 실행시

메인폼을 제외한 모든 폼을 생성시키지 않았습니다.

필요할때 마다 하나하나씩 생성 시켜 show를 시킬려고요...



근데 문제가

많은 폼들을 보고 나면 그 생성 시킨 폼이 메모리에 있어

또 다시 resource문제에 봉착하게 되더군요...

생성시킨 폼의 OnClose이벤트에서 폼1.Free라고 하면

잘될때도 있지만 과감히 에러가 뜰때가 있습니다.

어찌 해야 될지...



메인폼에서 다른 폼들을 계속 감시하는 방법은 없을까요?

timer 콤포넌트는 쓰고 싶지 않은데요...

그럼 조언부탁드립니다.



2  COMMENTS
  • Profile
    나그네 1999.12.23 03:10
    감시대상 폼의 OnCLose이벤트에서 다음의 코드를 넣으십시오.

    procedure TSubForm1.FormClose(Sender:TObject; var Action:TCloseAction);

    begin

    Release;

    SubForm1 := nil;

    end;



    그리고 SubForm1이 열려진 상태인지를 확인하려면 SubForm1 = nil을 검사하여 열린 상태인지 아닌지를 알 수 있습니다.



    요점은 FormClose이벤트에서 강제로 폼을 메모리에서 해제 시킨다음 해당 변수를 nil로 할당하여야 한다는 것입니다.







    한 wrote:

    > 안녕하세요...

    > 다들 감기 조심하고요...에취~ ㅜㅜ

    >

    > 다름이 아니라 resource문제로 프로그램 실행시

    > 메인폼을 제외한 모든 폼을 생성시키지 않았습니다.

    > 필요할때 마다 하나하나씩 생성 시켜 show를 시킬려고요...

    >

    > 근데 문제가

    > 많은 폼들을 보고 나면 그 생성 시킨 폼이 메모리에 있어

    > 또 다시 resource문제에 봉착하게 되더군요...

    > 생성시킨 폼의 OnClose이벤트에서 폼1.Free라고 하면

    > 잘될때도 있지만 과감히 에러가 뜰때가 있습니다.

    > 어찌 해야 될지...

    >

    > 메인폼에서 다른 폼들을 계속 감시하는 방법은 없을까요?

    > timer 콤포넌트는 쓰고 싶지 않은데요...

    > 그럼 조언부탁드립니다.

    >

  • Profile
    김명석 1999.12.23 02:35
    한 wrote:

    > 안녕하세요...

    > 다들 감기 조심하고요...에취~ ㅜㅜ

    >

    > 다름이 아니라 resource문제로 프로그램 실행시

    > 메인폼을 제외한 모든 폼을 생성시키지 않았습니다.

    > 필요할때 마다 하나하나씩 생성 시켜 show를 시킬려고요...

    >

    > 근데 문제가

    > 많은 폼들을 보고 나면 그 생성 시킨 폼이 메모리에 있어

    > 또 다시 resource문제에 봉착하게 되더군요...

    > 생성시킨 폼의 OnClose이벤트에서 폼1.Free라고 하면

    > 잘될때도 있지만 과감히 에러가 뜰때가 있습니다.

    > 어찌 해야 될지...

    >

    > 메인폼에서 다른 폼들을 계속 감시하는 방법은 없을까요?

    > timer 콤포넌트는 쓰고 싶지 않은데요...

    > 그럼 조언부탁드립니다.

    >



    동적 생성후

    Show Method로 From을 뛰우셨다면

    OnClose Event에서

    Action := CaFree;

    하시면 Resource 문제는 없을것 같은데요....