掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Publish プロパティで、クラス(コンポーネント)を設定したい (ID:25942)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
次のようなコンポーネントを自作しました。 TComp_Sub … TFrameに複数のコンポーネントを貼り付けたコンポーネント TComp_Main … TFrameに複数のTComp_Subを貼り付けたコンポーネント ┏━━━━━━━┓ ┃┌─────┐┃ ┃│Comp_Sub1 │┃ ┃└─────┘┃ ┃┌─────┐┃ ┃│Comp_Sub2 │┃ ┃└─────┘┃ ┃┌─────┐┃ ┃│Comp_Sub3 │┃ ┃└─────┘┃ ┗━━━━━━━┛ TComp_Mainのイメージ図 TComp_Main の Publish プロパティで、Comp_Sub1を直接指定したいと思っています。 property Comp_Sub1 : TComp_Sub read Comp_Sub1 write _SetCmpSub; procedure _SetCmpSub(const Value : TComp_Sub); begin Comp_Sub1.自作プロパティ := Value.自作プロパティ; //Comp_Sub1.Assign(Value); // ←「TComp_Sub に TComp_Sub は代入できません」エラー end; 上記のように「read Comp_Sub1」とすれば、 オブジェクトインスペクタでComp_Sub1の情報が見れるます。 しかし、 「write _SetCmpSub」でどのような処理をしても オブジェクトインスペクタでの設定が反映されません。 フォーム > エディタで表示 で設定情報を確認しても Comp_Sub1 = Comp_Main.Comp_Sub1 と書かれているだけで、設定した情報は残っていません。 TComp_Main の プロパティに、TComp_Sub を直接指定し、 オブジェクトインスペクタでの設定情報を反映させることは出来ないのでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.