Zugriff auf globale Variablen
-
Hi!
hab da ein kleines Problem in meinem MFC Programm - über eine globale Variable möchte aus meinen Klassen (erstellt mit "Neue Klasse..." | "Allgemeine Klasse") auf einen Dialog zugreifen.
Nachdem das aber immer mit "nichtdeklarierter Bezeichner" quittiert wurde habe ich testweise einfach mal in die .cpp Datei der Klasse ganz an den Anfang "int abc = 1;" geschrieben - aber selbst auf die kann ich in derselben Klasse nicht zugreifen - erst nachdem ich sie nach der "#include "stdafx.h"" - Anweisung eingefügt habe konnte ich darauf zugreifen - irgendwie scheint die stdafx alle globalen Variablen rasuzuwerfen.
Warum nur? Kann man die irgendwie in der Klasse verfügbar machen?
rabbit
-
Okay habe jetzt herausgefunden das es mit dem Schlüsselwort extern geht.
Allerdings kann ich auf den Dialog nur über CDialog* zugreifen - nicht über meine Dialogklasse. Versuche ich einen Pointer darauf in meiner allg. Klasse zu deklarieren, muss ich ja erstmal die Klassendefinition der Dialogklasse eingebunden haben (oder gibts da eine andere Möglichkeit?) Und das geht wiederrum nicht, weil die Dialogklasse die allgmeine Klasse vorraussetzt.
Ist das theoretisch aus einer im Dialog instanzierten Klasse auf den selben Dialog vollständig zuzugreifen?
rabbit
-
Globale Variablen sind böse.
Deshalb sag ich da mal nichts dazu weil es auch immer anders geht.