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