Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Globale Variablen von einer Form in eine andere
Sqall - Di 24.01.06 20:58
Titel: Globale Variablen von einer Form in eine andere
Hi,
also mien problem ist, ich hab da nen schönes programm. In einer Form sind eine Menge globale variablen. Und in einer anderen form muss ich auf diese variablen zugreifen. nun dachte ich, es geht wie bei procedures oder functions, sodass ich vor die variable einfach Form1.variable schreibe, aber fehlanzeige. Das geht bestimmt, nur müsstet ihr mir helfen. Danke
sqall
mkinzler - Di 24.01.06 21:11
Auf globale variablen kannst du ohne Prefix zugreifen.
z.b
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| Unit 1;
interface
uses ...
var EineVariable: Integer;
...
Unit2;
...
EineVariable := 1;
... |
Logikmensch - Mi 25.01.06 07:25
Titel: Zugriff auf öffentliche Form-Variablen
Hallo!
Du kannst auch auf öffentliche Variablen eines Forms FORM2 von einem anderen Form FORM1 aus zugreifen, einfach indem Du die betreffende Form-Unit (z.B. UNIT2.PAS) im implementation-Abschnitt über uses einbindest. Die betreffenden Variablen müssen dann aber im public oder published-Abschnitt des Form stehen, damit man sie von außen "sehen" kann.
Besser ist allerdings die Variante, die eigentlichen Variablen im protected-Abschnitt mit vorangehenden F zu benennen (z.B. Fadresse:string) und im public-Abschnitt jeweils ein property anzulegen, das auf diese Variable zugreift:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| type TForm2=class(TForm) protected Fadresse:string; public property adresse:string read Fadresse write Fadresse; end; |
Der Zugriff auf diese Variablen bzw. properties erfolgt von Form1 aus mit vorangestelltem Form2, also z.B. Form2.adresse.
Variablen gehören aber grundsätzlich nur dann in ein Form, wenn sie von der Sache her wirklich zu dem Formular gehören. Haben sie aber wirklich globalen Charakter, dann solltest Du sie, wie mkinzler schreibt, im Interface-Abschnitt der betreffenden Unit als global deklarieren.
Liebe Grüße,
Claus.
Sqall - Do 26.01.06 17:03
Gut zu wissen. Danke.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!