Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Form lässt sich mit show nicht öffnen

  Alt 16. Nov 2004, 14:02
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).
Andreas
  Mit Zitat antworten Zitat