Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.494 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Problem mit Rückgabewert bei ShowModal

  Alt 17. Mär 2021, 13:41
Zitat:
gestartet
Er lässt die Fenster automatisch erstellen.
Und da wird es wohl vorgekommen sein, dass der Timer schon auslöste, bevor die Form2 erstellt wurde.

Warum wird die Form überhaupt automatisch erstellt, anstatt erst dann, wenn sie benötigt wird?
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  F: TForm2;
begin
  Timer1.Enabled := false;
  F := TForm2.Create(nil);
  try
    if F.ShowModal = mrOk then
      ...
  finally
    F.Free;
  end;
end;
Zitat:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  ...
  Form1.Timer1.Enabled := false;
Du bist bereits in TForm1, dort verwendet man niemals diese globale Variable.
Wenn man unbedingt eine Variable benötigt, dann nimmt man hierfür das Self.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat