Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Es funktioniert, und ich verstehe nicht warum o.O

  Alt 1. Nov 2012, 00:41
Wenn ich dich richtig verstanden habe, kann ich das erklären. Beim Laden eines Forms werden am Schluß alle Referenzen auf andere Komponenten aufgelöst, wobei der Name der Komponente das Kriterium ist. Zunächst wird in der aktuellen Komponente (dem Form) nach untergeordneten Komponenten gesucht. Danach wird die Suche global ausgeweitet. Bei der globalen Suche werden alle Forms und alle DataModules einbezogen, die sich Screen.Forms und Screen.DataModules registrieren.

Wenn du beim erzeugen des DataModules das Form als Owner angegeben hast, wird es als lokale Komponente gefunden. Andernfalls über die globale Suche.

Es spielt also keine Rolle, wo die Instanz-Variable eines DataModules deklariert ist und ob überhaupt eine existiert. Diese Variablen dienen wie deine Feld-Instanz nur dazu, daß du in deinem Source-Code darauf zugreifen kannst. Das Ganze würde auch funktionieren, wenn du das Datenmodul einfach nur erzeugst, ohne es einer Variablen zuzuweisen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat