struct in mehreren cpp's



  • hallo,
    also ich hab ein struct, dass ich in allen cpp's verwenden will. habe das scrupt in die head der cpp1 getan. nur die frage ist nun: wohin mit der instanz? ich habe schon fast alles ausprobiert. entweder bekomme aber immer ne fehlermeldung....
    ich hab das prog mal geupped, damit ihr euch vll ein besseres bild vond em problem machen könnt.
    www.secretgamer.de/c++/Bankprogramm.zip
    bräuchte die hilfe dringend weil ich bis mi das projekt abgeben muss.

    cya
    secretgamer



  • Der einfachheit halber kannst du die Definition der Strukturen in der StdAfx.h
    schreiben.

    Die Deklaration der globalen Variablen struktur und a_struktur kommen in die
    Datei Bankprogramm.cpp

    userdata	struktur[10];
    admindata	a_struktur[10];
    
    /////////////////////////////////////////////////////////////////////////////
    // CBankprogrammApp
    
    BEGIN_MESSAGE_MAP(CBankprogrammApp, CWinApp)
    

    zusätzlich muss die Variable struktur in die Datei login.cpp bekanntgemacht werden.

    static char THIS_FILE[] = __FILE__;
    #endif
    
    extern userdata struktur[10];
    
    /////////////////////////////////////////////////////////////////////////////
    // Dialogfeld login 
    
    login::login(CWnd* pParent /*=NULL*/)
    

    Das Du mit globalen Daten arbeitest ist natürlich nicht optimal, aber um
    Dir weiterzuhelfen, sollte das Dein Problem zumindest beheben.



  • boah fett danke ^^
    aba gibt leida neues prob....
    und zwar will ich die vars m_login und m_pin_OK so setzten, dass sie in jeder cpp aufurfbar ist.
    kann ich sie dann auch in der stdafx.h deklarieren und in jeder cpp mit extern aufrufen?
    dann gibts aba dieses prob hier:
    www.secrcetgamer.de/c++/2.zip

    cya



  • weiss keiner ne lösung? 😞



  • Der Link funktioniert nicht....

    Das die Strukturen in der StdAfx.h stehen, bedeutet NICHT das man sie mit
    extern von überall her ansprechen kann.
    Du könntest die Strukturen auch in einer Datei "MeineStructs.h" schreiben
    und dann die Header in der StdAfx.h einbinden. Der Vorteil ist nur,
    das Du nicht in jeder cpp-Datei den Header explizit einbinden must, da die
    StdAfx.h in der MSVC-Umgebung ein PreCompilierter Header ist und in allen
    vom Wizard erstellten .cpp Dateien inkludiert wird.

    Das die Variable mit extern in der login.cpp steht, heist nur, das es irgendwo
    in Deinem Programm eine globale Variable gibt, die im Statischen
    Speicherbereich Deiner Applikation steht.
    Um auf diese in einer anderen .cpp Datei zuzugreifen, muß die Variable mit
    extern bekanntgemacht werden, da es sont eine Redifinition wäre, und was der
    Compiler dazu sagt, hast Du ja bereits gemerkt!

    Wie bereits erwähnt, führt das verwenden von globalen Variablen fast immer
    zu problemen, wie Du jetzt bei Dir siehst.

    Wenn der Link funktioniert, könnte ich Dir vielleicht helfen, allerdings
    würde ich nochmal das Design Deines Programms überdenken!



  • das mit dem struct is leider halt teil der aufgabenstellung.
    das kann man denn ansonsten anstatt globalen vars nehmen?
    das design ändern geht ja im nachhinein immer noch.... soll erstmal programmiertechnisch alles gehn.
    www.secretgamer.de/c++/2.zip

    cya



  • push 😉
    frank++ kannste dich vll bei mir üba icq melden? würd schneller gehen.... 83865641

    hab mittlerweile neues prob...
    www.secretgamer.de/c++/Bankprogramm2.zip

    wieso beendet sich das nach 2x dialogwechsel?

    cya



  • hmm hab meinen fehler erkannt... muss es wohl mit events machen...
    jemand ne ahnung wie das geht?
    mein zeitfaktor verringert sich immer weiter... bis mi is noch zeit... 😕

    cya


Anmelden zum Antworten