Q&A

  • 액티브콘트롤 제작에서 Control has no parent window라는 에러가
패널로 부터 액티브엑스콘트롤을 제작하는데 여러 콤포넌트들을 동적으로 생성시켜서

패널위에 올려놓고 이벤트처리를 하는데

스피릿이나 그리드, 리스트 뷰 등은 클릭을 하면 Control has no parent window라는 에러가 계속 나옵니다.그래서 GetParentForm()을 해보니 nil이 나오더군요.

이 콘트롤을 등록해서 이용할때는 콘트롤의 ParentForm이 메인폼이 되고 콘트롤의

하부 콤포넌트의 parent는 이 콘트롤이니까 당연히 ParentForm이 있는게 정상이 아닐까요?

혹시 아시는분 해결 부탁합니다.

2  COMMENTS
  • Profile
    류종택 2001.03.27 21:36
    소스가 없어서 기냥 의견을 적습니다.



    콤포넌트를 동적 생성할 때 아래와 같이 하셨는 지요?



    Constructor TXXXPanel.Create(AOwner:TComponent);

    Begin

    Inhertied Create(AOwner);



    With TLabel.Create(Self) do

    Begin

    Parent:= Self;

    ...

    End;

    End;



    즉 생선된 콤포넌트 마다 Parent를 지정하셨는지요?





    From 류..



    설창원 wrote:

    > 패널로 부터 액티브엑스콘트롤을 제작하는데 여러 콤포넌트들을 동적으로 생성시켜서

    > 패널위에 올려놓고 이벤트처리를 하는데

    > 스피릿이나 그리드, 리스트 뷰 등은 클릭을 하면 Control has no parent window라는 에러가 계속 나옵니다.그래서 GetParentForm()을 해보니 nil이 나오더군요.

    > 이 콘트롤을 등록해서 이용할때는 콘트롤의 ParentForm이 메인폼이 되고 콘트롤의

    > 하부 콤포넌트의 parent는 이 콘트롤이니까 당연히 ParentForm이 있는게 정상이 아닐까요?

    > 혹시 아시는분 해결 부탁합니다.

  • Profile
    설창원 2001.03.28 00:51
    물론 지정을 했었죠. 아무리 해도 안되어서 결국 액티브 폼으로 바꿨습니다.

    액티브 콘트롤에는 폼이란 개념이 없나 봅니다.

    그럼 모두 즐코.....@.@



    류종택 wrote:

    > 소스가 없어서 기냥 의견을 적습니다.

    >

    > 콤포넌트를 동적 생성할 때 아래와 같이 하셨는 지요?

    >

    > Constructor TXXXPanel.Create(AOwner:TComponent);

    > Begin

    > Inhertied Create(AOwner);

    >

    > With TLabel.Create(Self) do

    > Begin

    > Parent:= Self;

    > ...

    > End;

    > End;

    >

    > 즉 생선된 콤포넌트 마다 Parent를 지정하셨는지요?

    >

    >

    > From 류..

    >

    > 설창원 wrote:

    > > 패널로 부터 액티브엑스콘트롤을 제작하는데 여러 콤포넌트들을 동적으로 생성시켜서

    > > 패널위에 올려놓고 이벤트처리를 하는데

    > > 스피릿이나 그리드, 리스트 뷰 등은 클릭을 하면 Control has no parent window라는 에러가 계속 나옵니다.그래서 GetParentForm()을 해보니 nil이 나오더군요.

    > > 이 콘트롤을 등록해서 이용할때는 콘트롤의 ParentForm이 메인폼이 되고 콘트롤의

    > > 하부 콤포넌트의 parent는 이 콘트롤이니까 당연히 ParentForm이 있는게 정상이 아닐까요?

    > > 혹시 아시는분 해결 부탁합니다.