すでに存在するFormを別ファイルで同じものを作る場合、
以下のようなやりかたがあると思います。
・単純にコピーしてファイル名、クラス名等変更する
・コピー元をFrameとして扱う
・元のファイルのクラスを汎用できる形にする。
元のファイルはあまりいじりたくないのですが、まったく同じもの同じコードが二つあるのもスマートではないです。
私はいつもFrameにしてしまいますが。
みなさんはこのような場合はどのように処理しますか?
全く同じものを2つ欲しいなら、単に
FormA_1,FormA_2: TFormA;
FormA_1 := TFormA.Create(Self);
FormA_2 := TFormA.Create(Self);
こんな風にします。
キャプションくらいなら
FormA_2.Caption := '2つめのフォーム';
ってな感じで。
ちょっとだけ違うフォームを作る、たとえばコンポーネントを追加するとか
イベントの処理がちょっと違うとかの場合は、そのフォームを継承します。
私はフォームの継承をよく使います。
ありがとうございます。
継承を自分でためしてみました。
思い通りのものができました。
ツイート | ![]() |