Если вы создаете окна одного класса, то все функции, принадлежащие этому классу будут имплементированы во все копии. Пример:
type
TNotepad = class(TForm) //Предок всех классов для записи блокнота
public
class var OnAfterCreate: TNotifyEvent; //событие, для реакции после создания
constructor Create(AOwner: TComponent); override; //второй возможный
//вариатнвариант
end;
TMainForm = class(TForm)
procedure FormCreate(Sender: TObject);
public
procedure DoAfterCreate1(Sender:TObject); //вариант 1
procedure DoAfterCreate2(Sender:TObject); //вариант 2
end;
constructor TNotepad.Create(AOwner: TComponent);
begin
inherited;
//варант 1
if Assigned(OnAfterCreate) then
OnAfterCreate(Self);
//*1
//вариант 2
if Assigned(Screen.MainForm ) then
if Screen.MainForm is TMainForm then
TMainForm(Screen.MainForm).DoAfterCreate2(Self);
//*2
end;
procedute TMainForm.FormCreate(Sender:TObject);
begin
TNotepad.OnAfterCreate := Self.DoAfterCreate1; //вариант 1
end;