Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#15

AW: MainMenu unsichtbar nach Update auf XE10.2.2

  Alt 17. Feb 2018, 13:06
Im Echtcode hatte ich über Self zugegriffen. Nur bei der Ursachensuche und der Reduktion auf das Wesentliche ist mir diese Fehler rein gerutscht.
Eigentlich wirde ich in so einem Fall weder Self.WindowsState noch Form1.WindowsState sondern nur WindowsState := wsMaximiced verwenden.
Mittlerweile ist mir eigentlich auch bewusst, dass die Klasse im Create eigentlich noch gar nicht komplett instanziert sein muss, aber es gibt eben auch Altlasten.

Mir war allerdings nicht bewusst, dass der Zugriff über Form1 nicht zulässig ist. Form1 ist nicht vielleicht, sondern ganz sicher die globale Variable von TForm1. Andernfalls würde dort die korrekte globale Variable stehen.

Aber wie gesagt
1. Zugriff direkt auf WindowsState Eigentlich zu 80% so
2. Zugrif über Self.WindowsState Um deutlich zu machen dass es ein FormVariable ist oder Form1 in einer Funktion(Self) weitergeben wird
3. Zugriff über Form1.WindowsState Kann noch Code aus den Anfängen geben

Der reale Code sah so aus:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  uRegDo.SaveFormPos(self);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  uRegDo.RestoreFormPos(self);
end;

Geändert von norwegen60 (17. Feb 2018 um 13:09 Uhr)
  Mit Zitat antworten Zitat