|
윤성민 님이 쓰신 글 :
: 부모 form에서
: form1 = new TForm1(Application);
: form1->ShowModal();
: 로하니까요 자식form이 생성됬습니다.
: 그런데 자식form에서 부모의 form의 헤더를 include하고
: ::parentForm->hi(); 이런식으로 접근하니까 에러가 뜨던데요
: 부모의 포인터에 접근하는 방법아시는 분 제발 ㅠㅠ
: 그럼 안녕히 ㅠㅠ
:
유엔아이 현 입니다.
음 일단 모달 폼을 생성 할때 부모 인도우를 넣으셔야저
어플리케이션을 넣게 되면 그건 부모라 할수 없지요
: form1 = new TForm1(this);
: form1->ShowModal();
이렇게요
그럼 일단 부모인도우를 기준으로 자식윈도우(모달) 이 생성 되는 겁니다.
여기서 TForm 의 프로퍼티중 부모윈도 포인터를 이용하여
포인터 변수가 생각이 나지 않는데요 ? Parent 라면은
모달폼에서
this->Parent->Hi();
라고 하는데요 당연히 컴파일 에러가 뜹니다.
Parent 가 TFormXXXX (부모윈도우의 클래스이름 ) 가 아닐테니깐여
따라서 케스트 연산해서
((TFormXXXX *)this->Parent)->Hi();
이렇게
그러면 되겠지여
그럼
|