Q&A

  • 호출한 폼을 알 수가 있을까요?
안녕하십니까?

오늘도 모두 수고가 많으십니다.

다름이 아니라,

Form1에서 Form2를 호출하였습니다.



procedure TForm1.Button1Click(Sender);

begin

try

Form2 := TForm2.Create(Self);

Form2.ShowModal;

finally

Form2.Free;

end;

end;



Form2에서는 자신을 호출한 폼인 Form1의 어떤 내용을 참조하려고 합니다.

이때 Form2를 호출한 폼의 이름을 어떻게 하면 알 수가 있을까요?

물론 Form1.XXX... 라고 참조할 수 있겠지만, Form2를 호출하는 폼이 Form1외에 다른 폼들도 있어서요.

그럼, 답변을 기다리며...

감사합니다.



1  COMMENTS
  • Profile
    전철호 1999.08.26 02:57
    궁금이 께서 말씀하시기를...

    > 안녕하십니까?

    > 오늘도 모두 수고가 많으십니다.

    > 다름이 아니라,

    > Form1에서 Form2를 호출하였습니다.

    >

    > procedure TForm1.Button1Click(Sender);

    > begin

    > try

    > Form2 := TForm2.Create(Self);

    > Form2.ShowModal;

    > finally

    > Form2.Free;

    > end;

    > end;

    >

    > Form2에서는 자신을 호출한 폼인 Form1의 어떤 내용을 참조하려고 합니다.

    > 이때 Form2를 호출한 폼의 이름을 어떻게 하면 알 수가 있을까요?

    > 물론 Form1.XXX... 라고 참조할 수 있겠지만, Form2를 호출하는 폼이 Form1외에 다른 폼들도 있어서요.

    > 그럼, 답변을 기다리며...

    > 감사합니다.

    >



    안녕하세요. 전철호입니다.



    Form2에서 Form1의 이름을 알고 싶으시면

    OnCreate Event에



    //여기서 Form은 TForm1을 나타내는 클래스 임시변수입니다.

    procedure TForm2.FormCreate(Sender: TObject);

    begin

    Form := TForm1(TComponent(Sender).Owner);

    end;

    와 같이 코딩을 하시면

    현재 TForm2의 Parent를 알수 있습니다.



    다음은 TForm1 클래스 안에 Button1 클래스 가 있을때

    Form2에서 Button1의 Caption명을 알아내는 예제입니다.

    procedure TForm2.Button1Click(Sender: TObject);

    begin

    ShowMessage(Form.Button1.Caption);

    end;