|
감사합니다. test까지 해주시구
그런데 제 질문에 조금 문제가 있었습니다.
말씀하신데로 코딩하면 컴파일시에는 문제가 발생하지 않습니다.
다만 런타임에서 문제가 발생합니다.
혹시 해결 방법이 있을까요?
유영인 Cuperido 님이 쓰신 글 :
: 글쎄요, 아래 소스처럼 꾸며놓고 테스트를 해봤었는데, 에러가 발생하지 않네요.
: 클래스이름과 이름을 잘못 구별해서 에러가 난게 아닌가도 싶네요.
:
: 예를들어 아래 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를 뽑아내야 합니다.
: : 고수님들의 조언을 부탁합니다.
|