Q&A

  • formactivate 이벤트 도중 formclose하는 법
안녕하십니까.
여기서 항상 많이 배우고 있습니다.

도저히 방법을 모르겠어서 글 올립니다.
폼 생성을 할면서 formactivate 이벤트에서 한 조건식을 수행하고 조건 불일치의 경우 그냥 폼을 종료(formclose)하고 싶습니다.

다음과 같이 했는데 폼 종료가 안됩니다.
procedure TfHamoduIN.FormActivate(Sender: TObject);
var
(생략)
begin
(생략)
     if   (FileExists(FdSet) = False) then
     begin
         Application.MessageBox('에러메시지', SysErrID, MB_OK);
         close;   //폼 종료를 위해 formclose이벤트를 발생시키고 싶었습니다.
     end
     else
     begin
         (생략)
     end;
end;
====================
폼 생성중에(또는 activate중에) close를 하려고 해서 안되는 걸까요?
그렇다면 어떤 방법으로 생성중에(activate중에) formclose를 할 수 있을까요?

도움 부탁드립니다. :)
2  COMMENTS
  • Profile
    홍성락 2004.10.02 07:41

    hsr//////////////////////////////////////////////////////
    자기폼 죽이기는 2가지를해보세요.
    일단 호출된 폼Form2의 FormClose과 FormDestroy이벤트에 아래 코딩을하시구요
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
        Action := caFree;
    end;

    procedure TForm2.FormDestroy(Sender: TObject);
    begin
        Form2 := nil;
    end;

    두번째는 Form1이 Form2를 show로 띄웠다면 그냥 close하시면 되구요
    ShowModal로 띄웠다면 PostMessage(self.handle, WM_CLOSE, 0, 0);을 사용해보세요
  • Profile
    기지훈 2004.10.04 20:06
    아, 바로 해결되었습니다!

    홍성락님 감사합니다. :)