Q&A

  • 폼 Create관련 급합니다.
하나의 어플리케이션에 여러개의 폼을 가지고 있는 경우인데 제가 하고 싶은

것은 현재 Create되어서 화면에 나타나 있는 폼의 경우에는 다시 Create하지

않고 현재의 폼을 보여주려고 합니다.

그래서 지난번에 도움을 받아서 다음과 같이 코딩을 하니 현재 폼이 있는 경우

새로 Create하지 않고 현재 폼을 보여주는 것은 제대로 되었습니다.

그런데 이렇게 해서 한번 폼을 Create했다가 해당폼을 Close한 후에 다시

Create하려고 하면 해당 폼이 nil이 아니라서 오류가 발생합니다.

어떻게 해야 할까요.

폼이 Close될때는 Action := caFree라고 코딩해서 메모리에서 Free가 되도록

했는데도 안되는 군요.



procedure TForm1.N311Click(Sender: TObject);

begin

if Form4 = nil then

begin

Form4 := TForm4.Create( Self );

Form4.Show;

end

else

begin

SetActiveWindow(Form4.Handle);

end;

end;





1  COMMENTS
  • Profile
    글쎄요 1999.06.24 02:55
    /////

    항상 객체를 free하고 나서 그 객체를 nil로

    만들어야 제대로 객체를 해제하는 겁니다.

    form4의 close이벤트에 다음과 같이 코딩하셔요.

    Form4.Free;

    Form4 := nil;