Deklaration von Globalen- und Programmlokalen Variablen in einer MFC Anwendung.



  • Hallo Leute,

    bin gerade dabei mir die MFC Programmierung anzueignen. Ich komme bei einer Frage jedoch nicht weiter. Wo lege ich globale bzw. Programmlokale Objekte an, deren Werte Beispielsweise durch einen Dialog vom Nutzer modifiziert werden können und anschließend ausgewertet werden?

    Sind meine Annahmen richtig??:

    Globale Objekte werden in dem Konstruktor des Applikationsobjekts deklariert und Programmlokale Objekte entsprechend in der InitInstance() des Applikationsobjekts.

    MfG



  • irgendwie bringst du da einiges durcheinander.

    der Konstruktor einer classe ist letztenendes ja wohl auch nur eine funktion wie die InitInstance() auch.

    der Konstruktor einer klasse wird bei der erstellung einer Variable für die klasse aufgerufen.

    CMyClass m_MyClass;//<-- in diesem moment wird der konstruktor angesprochen.

    wenn du eine globale variable brauchst, erstellt man diese normalerweise in einer datei, die auch von allen anderen dateien in deinem project gesehen wird.
    die StdAfx.h bietet sich hierfür gerade zu an.

    und eine globale Variable erstellt man in der StdAfx.h durch

    extern CString m_MyString;
    

    auflösen tust du das ganze in der StdAfx.cpp

    CString m_MyString;
    


  • Noch zu erwähnen währe, das globale Variablen denkbar ungünstig sind und eigentlich fast nie nötig sind (gibt vielleicht paar Ausnahmen), und in größeren Projekten geht das meist nach hinten los wenn mal globale Variablen verwendet. Also besser ist, seine Variablen einer Klasse zu zuordnen, also der Klasse wo sie hingehören.



  • Vielen Dank. Ich beschäftige mich erst seit kurzem mit den MFC und habe zugegebenermaßen noch keinen richtigen Durchblick. Dieses Forum ist in daher eine sehr große Hilfe!


Anmelden zum Antworten