Globales Objekt erstellen



  • Hallo,
    ich verwende das Visual Studio 6.0. Ich hab ein Standard Windows Programm erstellt (MFC). Hier möchte ich ein Globales Objekt einer selbst erstellten Klasse erstellen. Ich habe dass Objekt zunächst ind der App - Klasse erstellt, dort wo auch theApp erstellt wird. Mein Objekt erscheint auch in der Klassenübersicht im Abschnitt global. Im Nachhinein kann ich allerdings nicht auf dass Objekt aus anderen Klassen zugreifen.

    Mein Frage ist, wie kann ich ein globales Objekt erstellen, auf welches ich wirklich auch aus allen anderen Klassen zugreifen kann ?

    danke im vorraus
    -hever-



  • Warum willst du ein globales objekt erstellen, ich würd es immer vorziehen es in einer klasse zu erstellen und dann mit zeigern auf dieses zugreifen.
    wir hatten hier vor knapp zwei monaten schon ma so etwas.
    [url] globale Variablen [/url]



  • Okay, danke für die Hilfe, ich hab dass Objekt als public im MainFrame deklariert und greife über einen Zeiger darauf zu, dass kann ich aus Mehreren Klassen. Also erfüllt es sozusagen eine globale Funktion.

    Auszug aus dem Beitrag von Unix-Tom:
    Einen Zeiger auf CMainframe hollt man sich z.B. so:

    CMainFrame *pMainFrame=(CMainFrame*)AfxGetMainWnd();

    Hat ja schon fast FAQ charakter.
    thx





  • Nur der Vollständigkeit halber:

    Wenn du deine Instanz genau an der Stelle anlegst, an der auch das theApp.-Objekt angelegt wird, müsstest du in jeder CPP-Datei, in der du auf das Objekt zugreifen willst, schreiben:

    extern CYourClass Objekt;
    

    Man kann das Gleich auch mit dem theApp-Objekt machen, indem man dass das Objekt von CYourClass als Member-Variable von CYourApp anlegt.

    MfG
    Happosai


Anmelden zum Antworten