Q&A

  • create문에 대해...(진짜초보)
제가 델파이를 첨 시작하는데, 개념이 영 안 잡혀서요.



TForm1.Create(Application)

TForm1.Create(self)

TForm1.Create(nil)

은 어떻게 다른건가요?



그리고

Application.CreateForm(TForm1,Form1)

Form1 :=TForm1.Create(appliction)

은 어떻게 틀린겁니까?



정말 모르겠어요?

갈켜주세요~~~흑~

2  COMMENTS
  • Profile
    seagod 2000.04.13 04:34
    대원 wrote:

    > 제가 델파이를 첨 시작하는데, 개념이 영 안 잡혀서요.

    >

    > TForm1.Create(Application)

    > TForm1.Create(self)

    > TForm1.Create(nil)

    > 은 어떻게 다른건가요?

    >

    > 그리고

    > Application.CreateForm(TForm1,Form1)

    > Form1 :=TForm1.Create(appliction)

    > 은 어떻게 틀린겁니까?

    >

    > 정말 모르겠어요?

    > 갈켜주세요~~~흑~



    저도 초보라서리 제 답변이 틀리면 조언 부탁드립니다.

    TForm.Create( ? )

    ? 는 TForm의 메모리상의 소유자를 의미합니다.

    예를들어

    Form1 := TForm1.Create(Button2);

    Button2.Free //요렇게 하면 Button2 가 메모리에서 해제되면

    폼도 메모리에서 해제되버리지요.



    Create( Application ) 은 응용프로그램이 종료했을때 메모리에서 해재 되구요

    Create( nil )은 사용자가 코딩으로 처리해 주어야지요. 즉 메모리 소유자가 없다는

    말인것 같고.



    참고로 TForm.Parent 가 있는데

    Form.Parent := Panel1 요렇게 하면 판넬 위에 폼이 보일겁니다.



    도움이 되었는지 모르겠네여...





  • Profile
    대원 2000.04.15 01:31
    답변해 주셔서 정말정말 무지무지 감사합니다.

    아무도 알려주는 사람도 없이 혼자 공부하려니 정말 어렵네요...



    Application.CreateForm(TForm1,Form1)

    Form1 :=TForm1.Create(appliction)



    혹시 이 차이는 잘 모르시나요?