|
으아.. 대단하시네여.. class DELPHICLASS TMyCustomView .. 해주니까 에러없이 되네여.
저 씨빌더 시작한지 얼마 안되서 질문을 자주할꺼 같네요.
치즈 님이 쓰신 글 :
: 아래소스는 헤더파일에 선언된 클래스들인데
: 템플리트안의 클래스변수에 TMyCustomControl 을 넣어주려고 합니다.
: 그런데 템플리트 선언의 ~TMyCustomView() 에서 자꾸 에러가 나네요
: 에러는 TMyCustomView<TMyCustomControl>::~TMyCustomView() must be declared with
: one parameter. 이라고 나는데 TMyCustomControl 이 아닌 int 같은 타입을 매개변수 T 로
: 넣어주면 그런 에러가 안납니다. TCustomControl 의 프리방식이 좀 달라서 그런거 같은데
: 어떻게 하면 되는지요?
: ~TMyCustomView() {}; 부분을 없애면 문제없이 됩니다만..
: 프리되는 루틴이 꼭 필요해서..
:
: template <class T>
: class TMyCustomView : public T
: {
: public:
: TMyCustomView(Classes::TComponent * aOwner): T(aOwner) {};
: ~TMyCustomView() {};
: };
:
: //---------------------------------------------------------------------
:
: class TMyCustomControl : public TCustomControl
: {
: public:
: __property Canvas;
:
: __fastcall virtual TMyCustomControl(Classes::TComponent *aOwner) : TCustomControl(aOwner) {};
: __fastcall virtual ~TMyCustomControl() {};
: };
:
: class TMyFormView : public TMyCustomView<TMyCustomControl>
: {
: public:
: TMyFormView(Classes::TComponent aOwner) : TMyCustomView<TMyCustomControl>(aOwner) {}
: ~TMyFormView() {};
: };
:
|