同じFormを作成する場合

解決


はんじろ  2011-08-04 11:38:17  No: 40825  IP: 192.*.*.*

すでに存在するFormを別ファイルで同じものを作る場合、
以下のようなやりかたがあると思います。
・単純にコピーしてファイル名、クラス名等変更する
・コピー元をFrameとして扱う
・元のファイルのクラスを汎用できる形にする。

元のファイルはあまりいじりたくないのですが、まったく同じもの同じコードが二つあるのもスマートではないです。
私はいつもFrameにしてしまいますが。

みなさんはこのような場合はどのように処理しますか?

編集 削除
Quest  2011-08-04 12:14:14  No: 40826  IP: 192.*.*.*

全く同じものを2つ欲しいなら、単に
FormA_1,FormA_2: TFormA;
FormA_1 := TFormA.Create(Self);
FormA_2 := TFormA.Create(Self);
こんな風にします。
キャプションくらいなら
FormA_2.Caption := '2つめのフォーム';
ってな感じで。

ちょっとだけ違うフォームを作る、たとえばコンポーネントを追加するとか
イベントの処理がちょっと違うとかの場合は、そのフォームを継承します。
私はフォームの継承をよく使います。

編集 削除
はんじろ  2011-08-04 12:57:54  No: 40827  IP: 192.*.*.*

ありがとうございます。
継承を自分でためしてみました。

思い通りのものができました。

編集 削除