|
글쎄요, 아래 소스처럼 꾸며놓고 테스트를 해봤었는데, 에러가 발생하지 않네요.
클래스이름과 이름을 잘못 구별해서 에러가 난게 아닌가도 싶네요.
예를들어 아래 B 가 확실히 B 인지 아니면 TB 인지도,
더 간단히 말해서 TForm 으로 했는지 TForm1 으로 했는지 등등의 여부도
Custom 객체면 충분히 결과가 틀려질 수 있기 때문이지요.
cuperido
hans 님이 쓰신 글 :
: TCustomPanel을 상속받은 A 라는 클래스안의 생성자안에서
: B 를 생성시킬 때 B의 생성자 안에서 A의 Handle를 얻어 올 때 error이 나네요?
:
: //----- 소스 ---------------
: __fastcall A::A(TComponent* Owner)
: : TCustomPanel(Owner)
: {
: this->b = new B(this);
: }
:
:
: __fastcall B::B(TComponent* Owner)
: : TCustomPanel(Owner)
: {
: TWinControl *wincontrol = dynamic_cast<TWinControl*>(Owner);
: if(wincontrol != NULL) this->sendHandle = wincontrol->Handle;
: }
:
:
: 여기서 B의 생성자 안에서 wincontrol의 handle 를 얻어오는데 error이 납니다.
: 즉 A의 handle를 얻어오는데 error이 나는군요...
:
: A의 생성이 완료되지 않은 시점에서 B에서 Handle를 뽑아내지 못하는 겁니까?
: 만약 그렇다면 B의 생성자에서 A의 Handle를 뽑아낼 수 있는 방법이 있을까요?
: 물론 생성자가 아닌 다른 곳에서는 임의로 SetHandle를 할 수도 있지만 꼭
: B의 생성자에서 A의 Handle를 뽑아내야 합니다.
: 고수님들의 조언을 부탁합니다.
|