Laden...

Verständnisproblem: globale Variablen

Erstellt von medi vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.000 Views
M
medi Themenstarter:in
126 Beiträge seit 2005
vor 13 Jahren
Verständnisproblem: globale Variablen

Hallo,

ich hoffe ihr könnt mich erleuchten. Und zwar bin ich auf folgendes Problem gestoßen: Ich habe ein Hauptformular. Aus diesem Formular heraus erzeuge ich ein Unterformular per
Adminform af = new Adminform();
af.Owner = this;
af.Show();

Jetzt kann man diesen Aufruf aber auch mehrfach tätigen und es werden somit mehrere gleiche Unterformulare erzeugt.
In der Klasse dieses Unterformulars nutze ich wiederum verschiedene Klassen und auch eine statische Klasse für Formularweit genutzte globale Variablen und Konstanten (fürs einfachere Handling).
Jetzt passiert es aber das das zuletzt aufgerufene Unterformular diese globalen Variablen aller anderen Unterformulare der selben Klasse einfach überschreibt.

Wie kann das sein? Ich dachte immer wenn ich ein Object erzeuge, dieses losgelöst von anderen Objecten der selben Basisklasse existiert.

363 Beiträge seit 2007
vor 13 Jahren

Das liegt an der statischen Klasse. Statisch bedeutet ja gerade, dass es das nur einmal gibt, wenn du dann die Variablen überschreibst, ist es doch logisch das diese in den anderen Formularen genauso ist.

Gruß Cookiie

"Hail to the King, Baby!"

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo medi,

du bist ein kleiner Scherzkeks. Deine Frage lautet quasi: Warum werden globale, also gemeinsam genutzte Variablen gemeinsam genutzt?

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1. Was elementare Schlüsselwörter wie static bewirken, setzen wir als bekannt voraus.

herbivore