19-07-2024, Saat: 14:01
Ne kadar güzel, arkadaşlarımız farklı bakış açıları ile çözümler sunmuşlar. Hepsinin ellerine sağlık. Ben de farklı bir bakış açısı sunayım. Kullanacağımız yöntemin adı, interposer class.
Bir unit hazırlayın; adına uFormHelper ismini verin örneğin. İçine aşağıdaki kodları yazın:
Ardından, tüm formlarınızın olduğu pas dosyalarını dolaşıp en üstteki uses bloğunun en sonuna uFormHelper'i eklerseniz; artık tüm formlar Vcl.Forms.pas 'daki TForm'dan türemek yerine; uFormHelper.pas içindeki TForm'dan türemeye başlarlar. Bu da size merkezilik kazandırır.
Bir unit hazırlayın; adına uFormHelper ismini verin örneğin. İçine aşağıdaki kodları yazın:
unit uFormHelper;
interface
uses
System.Classes,
Vcl.Dialogs,
Vcl.Forms,
Vcl.Controls;
type
TForm = class(Vcl.Forms.TForm)
public
constructor Create(AOwner: TComponent); override;
procedure AfterConstruction; override;
end;
implementation
{ TForm }
procedure TForm.AfterConstruction;
begin
inherited;
ShowMessage('Yeni bir form oluşturuldu.');
end;
constructor TForm.Create(AOwner: TComponent);
begin
try
inherited;
except
inherited CreateNew(AOwner);
end;
end;
end.
Ardından, tüm formlarınızın olduğu pas dosyalarını dolaşıp en üstteki uses bloğunun en sonuna uFormHelper'i eklerseniz; artık tüm formlar Vcl.Forms.pas 'daki TForm'dan türemek yerine; uFormHelper.pas içindeki TForm'dan türemeye başlarlar. Bu da size merkezilik kazandırır.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...

