|
몇몇 프로퍼티들은 Parent를 꼭 필요로 합니다. 보통 디자인 타임때 자동으로 Parent가 설정되지만, 자동으로 설정되기 전이라면,
__fastcall TWow::TWow(TComponent* Owner) : TCustomControl(Owner)
{
Parent = dynamic_cast<TWinControl *>(Owner);
Width = 20;
Height = 20;
Canvas->MoveTo(1,1);
}
이렇게 넣음으로써, Parent를 설정해 줄 수 있습니다.
Jisang Yoo 님이 쓰신 글 :
: (첨부 그림은 에러메시지 스크린 샷입니다.)
:
: __fastcall TWow::TWow(TComponent* Owner)
: : TCustomControl(Owner)
: {
: Width = 20;
: Height = 20;
: Canvas->MoveTo(1,1);
: }
:
: TCustomControl을 부모클레스로 하여서 TWow라는 컴포넌트를 만들었습니다.
: 추가한 코딩은 위에 제시된 코드가 전부입니다.
: 그런데 이상하게도 에러가 나옵니다.
: 컴파일할 때는 아무 이상이 없는데, 컴포넌트설치후에 이 컴포넌트를 폼 위에 올려놓기만 하면
: Control '' has no parent window
: 라는 에러메시지가 나옵니다.
: 그리고 위에서 Canvas->MoveTo(1,1); 을 지우고 난 뒤에 다시 컴포넌트 재설치하고나면 , 더이상 에러가 안 나옵니다.
: 즉,
: 에러의 원인은 Canvas->MoveTo(1,1); 인 것이었습니다.
: 이 코드가 디자인타임에 왜 에러를 일으키는 거지요?
|