![]() |
Globale Variablen
Hi allerseits,
bin absoluter Delphi Newbie, bitte also um entschuldigung für eventuell blöde Fragen :-) Ich hab eine wahrscheinlich ganz einfache Frage: Gibt es globale Variablen, die der gesamten Applikation zur Verfügung stehen, und wenn ja, wo und wie müssen diese deklariert werden? Ich möchte auf den Inhalt eines Strings in sämtlichen Forms der Applikation zugreifen können z.B. Benutzername, Firmenname o.ä. Danke |
Re: Globale Variablen
Globale Variablen sind immer bissi ..... unschön (höflich ausgedrückt)
Mach doch einfach im Public Teil deiner Main Form eine entsprechende Property rein. Oder bohr dein Datenmodul auf, falls Du eins hast. Eine Globale Klasse, die nur über eine Funktion zugänglich ist kann sowas auch (verhindern, dass mehr als eine Instanz läuft). |
Re: Globale Variablen
Hallo
Ich würde dir auch empfehlen, die Variable im Public zu definieren. Oder vielleicht sogar, wenn das reicht, als Protected. Du solltest immer die unterst mögliche Stufe nehmen (Private - Protected - Public) Gruss |
Re: Globale Variablen
Er ist Anfänger - also lasst ihn doch erstmal mit Klassen in Ruhe, damit kennt er sich bestimmt noch nicht aus. Auch der Zugriff auf die Form mit den Instanzen wird auch nicht leicht zu erklären sein. Daher folgendes:
- Neue Unit - Im Interface Teil die globale Variable deklarieren - in jeder Form oder Unit wo du auf diese Variable zugreifen willst, einfach die neu angelegte Unit in die Uses Liste mit aufnehmen. |
Re: Globale Variablen
Vielen Dank für die schnelle Hilfe,
das tuts - letzte Antwort hab ich schon ausprobiert! |
Re: Globale Variablen
Zitat:
.Net ist eine reine OOP Umgebung, auch wenn dir D.Net etwas anderes weismachen will. Also entweder globalen Krempel oder .Net. Sowas ist in .Net vergleichbar mit sinnlosen GoTos in Win32... :? |
Re: Globale Variablen
Zitat:
Vielleicht sollte man beim Beitragserstellen noch einen Hinweis wie "wenn du keine Ahnung hast, welche Sprache du benutzt, nimm "Win32"" anzeigen :lol: . |
Re: Globale Variablen
Mal ne Frage die ein bisschen OT ist: Warum kann keiner globale Variablen leiden ? Was ist an denen denn so schlimm ? Jeder verflucht sie.. Ich benutzte zwar mittlerweile auch eher Variablen in Klassen aber ich finde globale Variablen trotzdem ganz nützlich.
|
Re: Globale Variablen
nicht schon wieder die Frage :-)
ist schon mehrmals hier diskutiert worden. Mit dem Ergebnis: Sie sind zwar unschön, aber manchmal doch sinnvoll ;-) |
Re: Globale Variablen
Ja, darüber kann man ewig diskutieren :stupid: .
![]() Meiner Meinung nach sollte man in einer OOP-Sprache wie Delphi ein OOP- immer einem PP-Konstrukt vorziehen. Da das in Delphi aber manchmal nur über Umwege (Stichwort Klassenvariablen -> Singletons) geht, benutze ich selbst manchmal eine globale Variable (aber höchstens eine pro Unit :wink: ). Und in .NET habe ich sowieso keine Wahl :mrgreen: . |
Re: Globale Variablen
Ich habe doch tatsächlich den .NET Hinweis übersehen - Asche auf mein Haupt. Ich hatte mich auch auf Win32 bezogen und nicht .NET. Sorry.
Und grundlegend bin ich auch kein grosser Freund von globalen Variablen - was vllt. durch meine Antwort so aussah... /EDIT: @Robert_G: Hatte ich auch nicht als anfahren verstanden - war nur mal so, schliesslich habe ich erst später .NET gesehen... |
Re: Globale Variablen
Zitat:
D2006 wird class vars auch in native Delphi kennen, somit gehören globale Variablen dann nur noch ins dunkle Reich der Vergangenheit bzw. denen, die nicht wissen was statische Felder sind... @Muetze Ich wollte dich gar nicht anfahren, es wurde nur übersehen, dass es sich hier um einen .Net Thread handeln _könnte_. ;) |
Re: Globale Variablen
Wenn ich solche Diskusionen lese, möchte ich sofort eine Kaffee trinken. :zwinker:
Es is wircklich egal ob global oder nicht, solange es hilft und man weiss was man tut. OOP ist nur eine Hilfe für Programmierer und nichts weiteres. Wenn man jetzt glaubt, in manchen Situationen schneller voranzukommen ohne OOP, na dann bitte schön. :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz