2016-10-09 8 views
1

スタイルのコレクションを含む(非ビジュアル)デスティネーションコンポーネントを含む基本VCLフォームクラスを定義しました。派生したフォームのデザインタイムコンポーネントの変更を防止する方法

開発者(および私自身)が自分のベースフォームから派生したフォームのスタイルを変更しないようにします。 C#の言葉を話すために、コンポーネントを基本VCLフォームで封印したいと思います。

どうすれば実現できますか?

メモ:デルファイのフォーム上のデザインガイドコンポーネントの宣言を理解できたことはありません。ちょっとした宣言ですが、クラス宣言のパブリックセクションには配置されていません。誰でもこの理由を説明できますか?

+0

通常、自己規律の適用は仕事をします。 –

+2

自営業、保護された公共財産の必要性がないよりも、自己規律が必要な場合は? ......... – Bascy

+2

視認性のレベルはさらに向上します。また、インタフェースの内容に関するドキュメントも提供しています。あなたの質問については、私はあなたの現在のコードを実際に描くことはできません。 –

答えて

1

まあ、短い答えはできません。あなたが本当に必要な場合は、実行時にコンポーネントを作成してプライベートにすることをお勧めします。 GExpert(click here)を使用している場合は、 "Components to Code"コマンドを使用して必要なコードを取得することができます。詳細が必要な場合は、DFMファイルを共有してください。ここに対応するコードを掲載します。

あなたのメモとして、コンポーネントはとして宣言されています。メンバーの宣言は、独自の可視性 指定せずに表示された場合、メンバーは それに先立つものと同じ可視性を持っているVisibility of Class Members引用

を参照してください。クラスが の可視性を持たないクラス宣言の冒頭のメンバーは、クラスが{$ M +}状態でコンパイルされた であるか、または {$ M +}状態でコンパイルされたクラスから派生した場合、デフォルトで公開されます。そうでなければ、そのようなメンバーは、コンポーネントを割り当てる必要があり公開宣言はTComponent.SetName(実際TComponent.SetReference)のために必要とされる

PS{$M+}指令でコンパイルさTPersistentの子孫は、NBTForm

公開されていますコンポーネントNameのプロパティを変更したときの対応するフィールドへの参照。

関連する問題