Q&A

  • nil 에 대한 에러여...
MDI폼에서여 CHILD폼이 두번 뜨는 것을 방지 하기 위하여

메뉴의 클릭버튼에 다음과 같이 코딩했습니다.

procedure Tfrmmain.N8Click(Sender: TObject);

begin

if Frmitem = nil then

begin

Frmitem := TFrmitem.Create(Self);

Frmitem.WindowState := wsMaximized;

Frmitem.Show();

end else

begin

if Frmitem.WindowState = wsMinimized then

Frmitem.WindowState := wsNormal;

Frmitem.BringToFront;

end;

end;



근데..차일드 폼이 두번씩은 뜨지 않는데..

한번폼을 띄웠다가 CLOSE 로 닫았다가 다시 띄우면 에러가 남니다..

CLOSE 이벤트에는 ACTION := CAFREE 로 처리했습니다.

어디가 잘못
2  COMMENTS
  • Profile
    지나가는이... 2001.07.12 20:32
    불쌍맨... wrote:

    > MDI폼에서여 CHILD폼이 두번 뜨는 것을 방지 하기 위하여

    > 메뉴의 클릭버튼에 다음과 같이 코딩했습니다.

    > procedure Tfrmmain.N8Click(Sender: TObject);

    > begin

    > if Frmitem = nil then

    > begin

    > Frmitem := TFrmitem.Create(Self);

    > Frmitem.WindowState := wsMaximized;

    > Frmitem.Show();

    > end else

    > begin

    > if Frmitem.WindowState = wsMinimized then

    > Frmitem.WindowState := wsNormal;

    > Frmitem.BringToFront;

    > end;

    > end;

    >

    > 근데..차일드 폼이 두번씩은 뜨지 않는데..

    > 한번폼을 띄웠다가 CLOSE 로 닫았다가 다시 띄우면 에러가 남니다..

    > CLOSE 이벤트에는 ACTION := CAFREE 로 처리했습니다.

    > 어디가 잘못
  • Profile
    MAJOR 2001.07.12 19:26
    불쌍맨... wrote:

    > MDI폼에서여 CHILD폼이 두번 뜨는 것을 방지 하기 위하여

    > 메뉴의 클릭버튼에 다음과 같이 코딩했습니다.

    > procedure Tfrmmain.N8Click(Sender: TObject);

    > begin

    > if Frmitem = nil then

    > begin

    > Frmitem := TFrmitem.Create(Self);

    > Frmitem.WindowState := wsMaximized;

    > Frmitem.Show();

    > end else

    > begin

    > if Frmitem.WindowState = wsMinimized then

    > Frmitem.WindowState := wsNormal;

    > Frmitem.BringToFront;

    > end;

    > end;

    >

    > 근데..차일드 폼이 두번씩은 뜨지 않는데..

    > 한번폼을 띄웠다가 CLOSE 로 닫았다가 다시 띄우면 에러가 남니다..

    > CLOSE 이벤트에는 ACTION := CAFREE 로 처리했습니다.

    > 어디가 잘못