Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Zugriff auf Instanzen und Variablen in der DPR


meolus - Di 20.02.07 02:57
Titel: Zugriff auf Instanzen und Variablen in der DPR
Ich habe bisher nirgends was dazu finden können, aber ich frage mich ob und ggf. wie ich auf Instanzen von Klassen oder Variablen, welche in der DPR erzeugt bzw. deklariert von Units aus zugegriffen werden kann.

Ich hab so Dinge wie Application.<meineVariable> oder Application als use in einer Unit einzu binden versucht; aber so oder so erfolglos :( Jetzt hab ich keine Ideen mehr, wie ich das bewerkstelligen könnte; außer halt natürlich eine "Dummy"-Unit dazwischen zu schalten.


BenBE - Di 20.02.07 10:51

Es gibt keinen mir bekannten oder dokumentierten Weg, auf den DPR-Gültigkeitsbereich zuzugreifen. Variablen, die Du außerhalb benötigst, solltest Du in einer extra Unit unterbringen und diese überall wo benötigt einbinden.


IngoD7 - Di 20.02.07 11:52
Titel: Re: Zugriff auf Instanzen und Variablen in der DPR
user profile iconmeolus hat folgendes geschrieben:
Ich hab so Dinge wie Application.<meineVariable> oder Application als use in einer Unit einzu binden versucht; aber so oder so erfolglos :( Jetzt hab ich keine Ideen mehr, wie ich das bewerkstelligen könnte; außer halt natürlich eine "Dummy"-Unit dazwischen zu schalten.

Application (vom Typ TApplication) ist auch nicht allgemeingültig "vom Himmel gefallen", sondern entstammt der Unit Forms (bei Standardanwendungen). Ein Application.<meineVariable> gibt es also eh nicht so ohne weiteres.

Wenn du globale Variablen benutzen möchtest, dann deklariere sie in irgendeiner Unit deines Projektes. Nötigenfalls in einer - wie du es nennst - Dummy-Unit. Ich würde dann sowas eher als Datenunit bezeichnen. Klingt schöner. ;-)


meolus - Di 20.02.07 11:58

Hehe, danke. Habs schon gefürchtet. Wäre einfahc praktisch gewesen, da ich teils unterschiedliche Formulare nach dem Programmstart nur erzeugen bräuchte, so dass ich nicht "auf" einem bestimmten von denen arbeiten kann und auch Instanzen von mehreren Klasse dafür fast wieder die Ganzeprogrammausführung benötige, welche ganz einfach dort drin hätten sein können.