본문 바로가기
Delphi Tip/+Tip

델파이 폼 모달 TForm modal, modaless show

by MonoSoft 2021. 9. 2.
728x90
반응형

델파이 폼 모달 TForm modal, modaless show

 

 

1. 모달 폼 띄우기 (팝업창, 모달, modal)

ex) 설정폼. TfrmSetup 

frmSetup := TfrmSetup.Create(Self);  // 폼 생성

.....

// 폼 생성 후 보이기 전에 하는 작업

....

try

  if frmSetup.ShowModal = mrOK then

  begin

     // modalresult = OK

     ....

  end;

finally

  frmSetup.Free;   // 폼 해제

  frmSetup := nil; // 그냥 습관임. 폼 변수가 폼 생성 여부를 가르키게..

end;

 

2. 그냥 폼 띄우기 (모달리스, modaless)

ex) 로그창. TfrmLogView

로그창이 떠 있으면 앞으로 보내고, 없으면 띄운다.

// 폼을 가르키는 변수가 nil 여부로 폼이 띄워졌는지 확인함.

if not Assigned(frmLogView) then  // 없으면 폼 생성

begin

  frmLogView := TfrmLogView.Create(Self);

  .....

  // 폼 생성 후 보이기 전에 하는 작업

  ....

end;

 

frmLogView.Show;  // 모달리스 

frmLogView.BringToFront;

......

모달리스는 추가 코드 있슴.

** 폼을 닫을 때 메모리 해제 하는 코드 넣음

TfrmLogView.OnClose 에 다음코드 넣음

begin

  Action := caFree

end;

*** 창을 종료 할 때 폼을 가르키는 변수를 nil 로 설정

TfrmLogView.OnDestroy 에 다음코드 넣음

begin

  frmLogView := nil

end;

 

728x90
반응형

댓글