Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Verwenden von Pointern

  Alt 28. Dez 2012, 16:05
Ein Objekt wird immer über einen Pointer angesprochen.
Wenn Du z.B. auf Panel1 zugreifst, wird auf eine Speicheradresse zugegriffen.
Der entsprechende Speicherplatz auf den der Pointer verweist wird dann in als Klasse TPanel interpretiert.

Insofern kannst Du Deine Instanz Panel1 anderen Units zugänglich machen und musst nicht extra mit Pointern hantieren.

Wenn Du der Unit uForm2 Deine Unit uForm1 bekannt gibst, kannst Du auf Form1.Panel1 ganz normal zugreifen.

Du könntest aber auch eine globale Unit definieren, in der Du eine entsprechende Objektvariable definierst.
Im OnCreate Deines Hautpformulars weist Du dieser dann Deine Objektinstanz zu und im OnDestroy setzt Du sie auf nil.
Dann kannst Du von den anderen Formularen aus auf diese globale Variable zugreifen.

Im Grunde läuft es darauf raus, dass Du eine Variable von verschiedenen Stellen aus zugängliche Variable definierst, der dann irgendwann die eigentliche Objektinstanz zugewiesen wird.
Eigentlich funktioniert das genau wie mit einer Integer- oder String-Variable.

Es gibt noch andere und bessere Lösungen, aber so kann man das schon auch realisieren.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat