folgender Programmcode zeigt einen häufigen Anfängerfehler:
Delphi-Quellcode:
procedure TVorlage.Button9Click(Sender: TObject);
begin
Vorlage.Hide; // FALSCH !!!!!
//^^^^^^^
end;
Wenn du ein Formularklasse (hier:
TVorlage) hast, darfst du nicht innerhalb der Klasse auf ein bestimmtes
Objekt dieser Klasse zugreifen (hier: var
Vorlage:TVorlage)!!!
Stattdessen musst du den versteckten Parameter
Self verwenden:
Delphi-Quellcode:
procedure TVorlage.Button9Click(Sender: TObject);
begin
self.Hide; // richtig
// man kann self auch ganz weglassen
Hide;
end;
Grund:
Wenn jemand ein Formular der Klasse
TVorlage erzeugt, muss er dieses Formular ja nicht zwingend in der Variablen
Vorlage speichern.
Dadurch können sehr seltsame Fehler und Zugriffsverletzungen auftreten.
Diese Grundregel gilt für alle Klassen, nicht nur für Formulare. Die Regel gilt auch für alle objektorientierten
Programmiersprachen (nicht nur für Delphi).