メインフォームが 1 つあるとします。メイン フォームには 2 つのボタン ( OpenとClose ) があり、各ボタンをクリックすると、メイン フォームを親/所有者とするフレームが作成されます。フレームには、以下のサンプル コードを含む 3 つのボタン (追加、編集、および削除) が含まれています。
フレームコード:
unit UntFrame;
...
type
TFmeMain = class(TFrame)
procedure AddClick(Sender: TObject);
procedure EditClick(Sender: TObject);
procedure DeleteClick(Sender: TObject);
private ...
public ...
end;
implementation
{$R *.dfm}
uses ...
procedure TFmeMain.AddClick(Sender: TObject);
begin
AddBtnClick;
end;
procedure TFmeMain.EditClick(Sender: TObject);
begin
EditBtnClick;
end;
procedure TFmeMain.DeleteClick(Sender: TObject);
begin
DelBtnClick;
end;
end.
フレームで使用される3 つのメソッド ( AddBtnClick、EditBtnClick、DelBtnClick ) は、UntOpen と UntClose という 2 つの異なるユニットに存在しますが、作成されたフレームによって動作が異なります。UntOpen は、[開く] ボタンがクリックされたときにフレームで使用する必要があります。UntClose は、メイン メニューから [閉じる] ボタンをクリックしたときに使用します。
UntOpen コード:
unit UntOpen;
...
procedure AddBtnClick;
procedure EditBtnClick;
procedure DelBtnClick;
implementation
procedure AddBtnClick;
begin
ShowMessage('add open');
end;
procedure EditBtnClick;
begin
ShowMessage('edit open');
end;
procedure DelBtnClick;
begin
ShowMessage('delete open');
end;
end.
UntClose コード:
unit UntClose;
...
procedure AddBtnClick;
procedure EditBtnClick;
procedure DelBtnClick;
implementation
procedure AddBtnClick;
begin
ShowMessage('add close');
end;
procedure EditBtnClick;
begin
ShowMessage('edit close');
end;
procedure DelBtnClick;
begin
ShowMessage('delete close');
end;
end.
フレームの追加、編集、または削除ボタンをクリックすると正しいメソッドが起動されるように、ユニットが作成されるたびにフレームの uses 句に (可能であれば) 動的に追加したい (開くボタンがクリックされた場合の UntOpen のメソッド)または [閉じる] ボタンがクリックされた場合は UntClose のメソッド)。
または、これを行うより効率的な方法はありますか?
ありがとう。