多重継承した自作コンポーネントを作るには

解決


のりぺぃ  2010-02-05 03:51:41  No: 37452

Delphiで多重継承が出来ない事は承知しておりますが
何かしら代替手段はないでしょうか?
やりたいのは以下のようなことです。

・TCustomLabelを継承したTMyLabelを作成
・TCustomPanelを継承したTMyPanelを作成
・この両者で、多くの同じプロパティを持ちたい。

TPersistentを継承したプロパティクラスを用意して
両者のメンバーにすれば出来なくもないのですが
それだとプロパティの階層がひとつ深くなってしまいます。

また多重継承の代わりにinterfaceがあるそうですが、
今ひとつ使い方がピンと来ないので、もしinterfaceで
上記のようなことが可能なら、勉強しようと思っています。
(ちなみに環境はDelphi2010です)


そういうのは  2010-02-07 01:53:07  No: 37453

多重継承と呼ばない
根本の理解が間違ってると思う


のりぺぃ  2010-02-08 07:11:39  No: 37454

あれこれ調べてみましたがどうもうまくいきません。
多重継承というのが正しい表現かはわかりませんが
ふたつのクラスの性質(TCustomLabel+TMyBaseClassのような)を
引き継いだコンポーネントというのは難しそうですね。
あきらめて単純なプロパティにします。


たまに質問  2010-02-08 07:55:46  No: 37455

のりぺぃさん
SUBComponentを使うのはどうでしょうか?
MrXrayさんのサイト説明があったように記憶してます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加