同じFormを作成する場合

解決


はんじろ  2011-08-04 20:38:17  No: 40825

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

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

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


Quest  2011-08-04 21:14:14  No: 40826

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

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


はんじろ  2011-08-04 21:57:54  No: 40827

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

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


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

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






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