안녕하십니까?
오늘도 모두 수고가 많으십니다.
다름이 아니라,
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외에 다른 폼들도 있어서요.
그럼, 답변을 기다리며...
감사합니다.
> 안녕하십니까?
> 오늘도 모두 수고가 많으십니다.
> 다름이 아니라,
> 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;