Variablen werden nicht übergeben!



  • Hallo!
    Ich habe mehrere Units!
    In der Unit 1 wird auf Knopfdruck ein Wert in eine Variable geschrieben, der soll dann auf Knopfdruck in der Unit2 im FOrm2 erscheinen.
    Klappt nur nicht
    Ich habe folgendes includet:

    Unit1:

    #include "Unit2.h"
    #include "Unit1.h"
    

    Unit2:

    #include "Unit2.h"
    #include "Unit1.h"
    #include "Unit1.cpp"
    

    In der Unit 1 ist die Variable deklariert die in der Unit2 erscheinen soll!



  • Mucher schrieb:

    ...

    Zykuläre Includes sind aufzulösen (Ein Gegenseitiger Include im ist nicht möglich). Entweder durch Vorwärtsdeklaration (einfach mal suchen) oder in dem man schaut ob die gegenseitige Abhängigkeit wirklich nötig ist.

    cpp-Dateien sollte man Grundsätzlich nicht inkludieren.

    cu André



  • ohje
    und wie mach ich das?



  • Hallo

    Zunächsteinmal sollte niemals eine cpp-Datei includet werden, nur Header-Dateien. Dein Problem läßt sich durch zurückhaltenderes includen und dem Schlüsselwort extern lösen

    // Unit1.cpp
    #include "Unit1.h"
    int x; // deine globale Variable
    
    // Unit1.h
    extern int x; // nachträgliche Deklaration für andere Übersetzungseinheuten
    
    // Unit2.cpp
    #include "Unit2.h"
    #include "Unit1.h" // von dir manuell eingetragener Include
    
    // x benutzen
    

    So kannst du verhindern das in den Headern mehr Includes stehen als nötig.

    bis bald
    akari


Anmelden zum Antworten