Einzelnen Beitrag anzeigen

BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
504 Beiträge
 
Delphi 12 Athens
 
#3

AW: Self nicht definiert nach dem Create?

  Alt 2. Feb 2024, 11:41
"Self" geht bei statischen Methoden nicht. Das ist ja quasi eine globale Funktion. Anstelle "Self" würde ich immer "MeinForm" verwenden.

Grundsätzlich würde ich - wenn es schon so gemacht sein soll - das "MeineForm" als lokale Variable der Funktion definieren:

Delphi-Quellcode:
function TMeinForm.Execute(): Boolean;
var
  MeinForm: TMeinForm;
begin
  Result := false;
  MeinForm := TMeinForm.Create(Application);
  With MeinForm do
  try
    // tuwas
    Result := ShowModal = mrOk;
  finally
    Free;
  end
end;
Auf "with" würde ich ganz verzichten. Das "with" habe ich vor 20 Jahren oder aus meinem Repertoir gestrichen. Das macht den Code schwer zu lesen und teilweise zu debuggen:

Delphi-Quellcode:
function TMeinForm.Execute(): Boolean;
var
  MeinForm: TMeinForm;
begin
  Result := false;
  MeinForm := TMeinForm.Create(Application);
  try
    // tuwas
    Result := MeinForm.ShowModal = mrOk;
  finally
    MeinForm.Free;
  end
end;
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat