Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: selectdirectory zugriffsverletzung

  Alt 24. Jul 2010, 13:09
Also man kann im interface- und im implementation-Teil über das Schlüsselwort var Variablen deklarieren.
Die, die im Interface-Teil deklariert sind sind projektglobal sichtbar und da man immer so lokal wie möglich Variablen deklariert, ist das die schlecheste Stelle überhaupt. Nur weil Delphi das für seine Formularvariablen tut, muss man dies nicht nachmachen. Mal ganz davon abgesehen, dass man nicht alle Formulare beim Programmstart erzeugen lässt und wenn man genau dies tut, dann löscht man auch diese globalen Formularvariablen und hat nur noch die eine, die das Hauptformular beinhaltet.
Im Implementation-Teil werden Variablen deklariert, die unitglobal sein sollen. Besitzt eine Unit allerdings ein Formular und man möchte in diesem Objekt eine globale Variable einführen, dann deklariert man diese im Private-Teil. Der Unterschied ist folgender: Hat man mehrere Instanzen des selben Objektes (hier Formular) dann hat (wenn man die Variable im Private-Teil deklariert) jedes Objekt seine eigene globale Variable. Deklariert man die Variable degegen im Implementation-Teil, dann haben und benutzen alle Objekte dieselbe globale Variable. Meist hat man ein Formular nur einmal, deshalb fällt diese Problematik nicht weiter auf, trotzdem sollte man gleich "ordentlich" programmieren und wissen was man da eigentlich tut.
  Mit Zitat antworten Zitat