Q&A

  • 차이점을 가르쳐 주세요..
frmmain := Tfrmmain.Create(Application);



Application.CreateForm(Tfrmmain, frmmain);

의 차이점을 알고 싶어요..

1  COMMENTS
  • Profile
    2000.11.30 00:57
    손락환 wrote:

    > frmmain := Tfrmmain.Create(Application);

    > 와

    > Application.CreateForm(Tfrmmain, frmmain);

    > 의 차이점을 알고 싶어요..



    안녕하세요?

    저도 아직 초보인데

    제가 아는 데까지만 설명하겠습니다.



    frmmain := Tfrmmain.Create(Application)은

    frmmain폼의 소유주가 Application이라는 것입니다.

    즉 Application이 메모리에서 해제될 때 Application이 소유하고 있는 것도

    자동적으로 메모리에서 해제가 됩니다.





    Application.CreateForm(TFrmmain,frmmain)은 먼저

    메인폼이 있나 없나를 확인 한 후 메인폼이 없는 경우 폼을 생성한 후

    frmmain을 메인폼으로 설정을 합니다.

    만약 메인폼이 존재하는 경우에는 폼만 생성하게 됩니다.

    우리가 일반적으로 폼을 생성할 때는 첫 번째를 사용합니다.



    설명이 너무 횡설수설한 것 같은데 도움이 되기를....