Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#1

class function, constructor oder function - guter Stil

  Alt 10. Feb 2009, 15:40
Hi,

bitte nicht gleich lynchen für die simple Frage, aber ich bin jetzt irgendwie gedanklich festgefahren.

Ich habe ein Basis - Dialogform. Davon gibt es dann einige Ableitungen.
Im Programm reicht mir dann ein Aufruf des Forms, welches lediglich eine ID (gewählter Datensatz) zurückgibt.

Momentan habe ich das mit einer class function im Basisform gemacht und es scheint auch das zu tun, was es soll.
Delphi-Quellcode:
class function TfrmBase.CreateAndShowModal(AOwner: TComponent; var AParam:
    Integer): Boolean;
Var
  f: TfrmBase;
begin
  // dirkter Aufruf Constructor ?
  f := Create(AOwner);
  try
    f.Init;
    Result := f.ShowModal = mrOK;
    if Result then
      AParam := f.GetParam;
  finally
    f.Free;
  end;
end;
Somit kann ich jetzt über die Klasse immer meinen Dialog aufrufen
Delphi-Quellcode:
if TBranchenAuswahl.CreateAndShowModal(Self, AId) then
begin
  // mach was
end
Allerdings habe ich das Gefühl, dass meist lieber dafür ein Constructor benutzt wird.
Dann wäre noch die Möglichkeit, eine Methode zu schreiben, die die Forms dann entsprechend der Klasse erzeugt
(so etwa CreateSelectFormAndShowModal(AFormClass: TFormClass...)

Ist gegen die class function etwas einzuwenden?
Oder noch einfacher gefragt: Welcher Stil ist sauber? [Edit]Rechtschreibfehler korrigiert[/EDIT]

Danke, Frank
Frank Reim
  Mit Zitat antworten Zitat