Q&A

  • Image + Edit 컴포넌트 만들때..
Image 객체와 Edit 객체가 결합된 컴포넌트를 만들려고 합니다.



즉, Image 객체 위에 Edit 객체가 겹쳐있는 형태의 것입니다.



Image 객체를 상속받고, 그 위에 Edit 객체를 생성시키려고 하였습니다.



그런데, 컴파일과정에서 에러가 생기더군요.



에러가 발생하는 부분은 다음과 같습니다.



EdDisplay := TEdit.Create(self);

EdDisplay.Parent := self; <==== 바로 이곳에서 self 부분입니다.



에러 메시지는 다음과 같습니다.



Incompitible Types : "TWinControl" and "TTest"



여기서 Test는 제가 만들려는 컴포넌트의 이름입니다.



그런데, 이것을 Panel을 상속받아서 하는 것으로 하면,



즉, Panel 객체 위에 Edit 객체가 있는것으로 만들면



위의 부분에서 에러가 발생하지 않더군요.



이 문제를 어떻게 해결해야 할까요?



고수님들의 조언 부탁드립니다.







1  COMMENTS
  • Profile
    이정욱 1999.08.11 10:55
    TImage는 콘트롤을 가질 수 없는 객체 입니다.

    즉, Parent로 사용되어질 수 없죠.

    TImage를 상속받지 마시고 이렇게 하세요.

    TPanel에서 상속을 받고, 생성시에 TImage를 생성시킨 후 Parent를 Self로 주시면 판넬위에 그림이 생성이 됩니다. 그것을 사용하시고, Edit고 마찬가지로 하세요.

    물론 헤제시에 모두 Free시켜 주시는것 잊지 마시구요~



    박인재 께서 말씀하시기를...

    > Image 객체와 Edit 객체가 결합된 컴포넌트를 만들려고 합니다.

    >

    > 즉, Image 객체 위에 Edit 객체가 겹쳐있는 형태의 것입니다.

    >

    > Image 객체를 상속받고, 그 위에 Edit 객체를 생성시키려고 하였습니다.

    >

    > 그런데, 컴파일과정에서 에러가 생기더군요.

    >

    > 에러가 발생하는 부분은 다음과 같습니다.

    >

    > EdDisplay := TEdit.Create(self);

    > EdDisplay.Parent := self; <==== 바로 이곳에서 self 부분입니다.

    >

    > 에러 메시지는 다음과 같습니다.

    >

    > Incompitible Types : "TWinControl" and "TTest"

    >

    > 여기서 Test는 제가 만들려는 컴포넌트의 이름입니다.

    >

    > 그런데, 이것을 Panel을 상속받아서 하는 것으로 하면,

    >

    > 즉, Panel 객체 위에 Edit 객체가 있는것으로 만들면

    >

    > 위의 부분에서 에러가 발생하지 않더군요.

    >

    > 이 문제를 어떻게 해결해야 할까요?

    >

    > 고수님들의 조언 부탁드립니다.

    >

    >

    >