Thema: Delphi Vorteil class function

Einzelnen Beitrag anzeigen

Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#1

Vorteil class function

  Alt 4. Jul 2008, 10:33
Hallo Zusammen.

Ich stoße beim durchforsten immer wieder auf class function.
Welche Vorteile/Nachteile hat es wenn man gewisse funktionen als class function ausführt?
Hier ein Beispiel beim Aufrufen einer Form.

Hier ohne Klassenfunktion
Delphi-Quellcode:
unit unit2;

interface

uses Windows, Buttons, Classes, ComCtrls, Controls, Forms, StdCtrls, ExtCtrls;

type
  TMyForm2 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  
  function ShowMyForm(AOwner: TComponent): TModalResult;

implementation

{$R *.dfm}

function ShowMyForm(AOwner: TComponent): TModalResult;
var
  myForm2: TMyForm2;
begin
  Result := 0;
  try
    myForm := TMyForm2.Create(AOwner);
    Result := myForm.ShowModal;
  finally
    FreeAndNil(myForm);
  end;
end;
und hier mit Klassenfunktion
Delphi-Quellcode:
unit unit1;

interface

uses Windows, Buttons, Classes, ComCtrls, Controls, Forms, StdCtrls, ExtCtrls;

type
  TMyForm = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    class function ShowMyForm(AOwner: TComponent): TModalResult;
  end;

implementation

{$R *.dfm}

class function TLsBaseForm.ShowMyForm(AOwner: TComponent): TModalResult;
var
  myForm: TMyForm;
begin
  Result := 0;
  try
    myForm := Self.Create(AOwner);
    Result := myForm.ShowModal;
  finally
    FreeAndNil(myForm);
  end;
end;
Und hier die Unterschiede beim Aufrufen:
Delphi-Quellcode:
procedure TFrom3.Button1Click(Sender: TObject);
begin
  { ohne Klassenfunktion }
  unit2.ShowMyForm(Self);
  { mit Klassenfunktion }
  unit1.TMyFrom.ShowMyForm(Self);
end;
Danke für eure Antworten
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat