Einzelnen Beitrag anzeigen

Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Self nicht definiert nach dem Create?

  Alt 2. Feb 2024, 17:34
Tipp:
Ändere die Funktion mal ab auf class function Execute() : Boolean; bzw. unten auf class function TMeinForm.Execute() : Boolean; .
class function / class procedure wäre für deinen Anwendungsfall logischer,
da du vom Objekt keine Instanz brauchst.
Dort müsste er auch meckern "was ist Self?".

Liebe Grüße aus dem Norden
Incocnito
So ähnlich halte ich es auch immer:
Delphi-Quellcode:
type
  TMyForm = class(TForm)
    //...
  public
    class function Execute: Boolean;
  end;

class function TMyForm.Execute: Boolean;
var
  FormDlg: TMyForm;
begin
  FormDlg := TMyForm.Create(Application);
  try
    // ggf. irgendwas vor dem Öffnen des Dialogs machen
    FormDlg.LoadOptions;

    // Dialog öffnen
    Result := FormDlg.ShowModal = mrOK;

    // ggf. nach dem Schließen des Forms irgendwas speichern
    if Result then
      FormDlg.SaveOptions;
  finally
    FreeAndNil(FormDlg);
  end;
end;
Andreas Lauß
Blog
  Mit Zitat antworten Zitat