Programmieren - alles kontrollieren 4.942 Themen, 20.719 Beiträge

Globale Deklaration

W.Stecher / 3 Antworten / Baumansicht Nickles

Hallo, ich stehe seit Tagen vor einem Problem und finde keine Lösung dafür:


Ich schreibe mit Borland C++ Builder ein kleines Programm.
In meinem Hauptfenster habe ich global, also außerhalb jeder Funktion, eine Struktur deklariert.
Ich kann auch wunderbar aus allen Funktionen auf sie zugreifen.
Das in der Struktur abgespeicherte möchte ich in einem zweiten Fenster anzeigen lassen.
Wenn ich aber ein zweites Fenster erstelle, dann bastelt sich der C++ Builder hierfür einen eigenen C++-File. Die Deklaration aus dem Hauptfenster bringt mir somit gar nichts mehr.


Ich möchte die Struktur nicht übergeben, sondern von allen Funktionen und aus allen Fenstern auf diese zugreifen können. Doch es gelingt mir nicht. Wie schaffe ich es, daß ich aus einem anderen Fenster auf die Struktur aus dem Hauptfenster zugreifen kann.


Danke für die Hilfe

bei Antwort benachrichtigen
Dreamforger W.Stecher „Globale Deklaration“
Optionen
---struct.h---------

struct mystructure {
int a;
int b;
};

--------main.cpp---------

#include "struct.h"
mystructure theOne;

void somefunc();

void main()
{
theOne.a = 0;
theOne.b = 10;
somefunc();
/*....*/
}

-------AnyOther.cpp------

#include "struct.h"
extern mystructure theOne; // "hey compiler, da gibts 'ne variable 'theOne', leg sie nicht an"
// stattdessen sag dem linker das er sie nachher unter allen nicht-static variablen findet

void somefunc()
{
theOne.a = theOne.b * theOne.a
}
bei Antwort benachrichtigen
W.Stecher Nachtrag zu: „Globale Deklaration“
Optionen

Super danke, das ist ja richtig geil ausführlich :-)
Probier das nachher mal aus !

bei Antwort benachrichtigen
W.Stecher Nachtrag zu: „Globale Deklaration“
Optionen

Funktioniert einwandfrei. Danke !

bei Antwort benachrichtigen