Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Globale Variablen (https://www.delphipraxis.net/56734-globale-variablen.html)

eddie11 10. Nov 2005 09:35


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

Sidorion 10. Nov 2005 10:05

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).

diComm 10. Nov 2005 10:12

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

Muetze1 10. Nov 2005 10:27

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.

eddie11 10. Nov 2005 10:41

Re: Globale Variablen
 
Vielen Dank für die schnelle Hilfe,

das tuts - letzte Antwort hab ich schon ausprobiert!

Robert_G 10. Nov 2005 12:23

Re: Globale Variablen
 
Zitat:

Zitat von Muetze1
Er ist Anfänger - also lasst ihn doch erstmal mit Klassen in Ruhe, damit kennt er sich bestimmt noch nicht aus.

Das hier scheint ein .Net Thread zu sein. .Net kennt keine globalen Variablen und Funktionen. Schlimm genug, dass diese Hacks bei D.Net nicht standardmäßig verboten sind (noch schlimmer: man kann den Krempel nichtmal deaktivieren :shock: )

.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... :?

Khabarakh 10. Nov 2005 12:43

Re: Globale Variablen
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von Muetze1
Er ist Anfänger - also lasst ihn doch erstmal mit Klassen in Ruhe, damit kennt er sich bestimmt noch nicht aus.

Das hier scheint ein .Net Thread zu sein. .Net kennt keine globalen Variablen und Funktionen. Schlimm genug, dass diese Hacks bei D.Net nicht standardmäßig verboten sind (noch schlimmer: man kann den Krempel nichtmal deaktivieren :shock: )

.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... :?

Ich wollte vorher etwas Ähnliches schreiben, aber ich denke, dass dies ziemlich wahrscheinlich kein .NET-Thread ist :wink: .
Vielleicht sollte man beim Beitragserstellen noch einen Hinweis wie "wenn du keine Ahnung hast, welche Sprache du benutzt, nimm "Win32"" anzeigen :lol: .

Neutral General 10. Nov 2005 13:09

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.

mumu 10. Nov 2005 13:19

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 ;-)

Khabarakh 10. Nov 2005 13:20

Re: Globale Variablen
 
Ja, darüber kann man ewig diskutieren :stupid: .
http://www.delphipraxis.net/internal...ct.php?t=53615

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: .

Muetze1 10. Nov 2005 13:24

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...

Robert_G 10. Nov 2005 16:15

Re: Globale Variablen
 
Zitat:

Zitat von mumu
ist schon mehrmals hier diskutiert worden. Mit dem Ergebnis: Sie sind zwar unschön, aber manchmal doch sinnvoll ;-)

Nur solange sie aufgrund von Mängeln in der Sprache notwendig sind.
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_. ;)

sniper_w 10. Nov 2005 16:35

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