enum über mehrere Units
-
Hallo zusammen,
irgendwie bekomme ich es nicht hin auf eine enum über mehrere Units zuzugreifen. Ich habe eine enum in einer separaten *.h deklariert (diese *.h habe ich in meinen Units includiert) und in Unit1 ist enum definiert. Nun möchte ich von Unit2 auf diese enum zugreifen.
Danke für jeden Tip
WoWe
-
wie enum ist in Unit1 definiert? ich denke im separaten header steht das enum?
// separater header enum TBlahBlah { bb1, bb2, bb3 };
in Unit1
#include "separater_header.h" void __fastcall Form1::BlahFun(TBlahBlah Var) { if (Var == bb1) ShowMessage("Blah"); }
-
Hallo Sunday,
folgendes ist mein Problem:
// separater header enum eColor { red, green, blue }; // Unit1.cpp eColor Color1; Color1 = blue; // Unit2.cpp switch( xyz ) { case 0: Color1 = red; // Das funktioniert nicht ... case 0: Form1->Color1 = red; // ... das auch nicht }
-
Abgesehen davon, dass globale Variablen zu vermeiden sind, würd ichs mal mit einer Deklaration in Unit2 mit vorangestelltem "extern" versuchen.
-junix
-
Danke junix, mit extern geht's, aber wie könnte ich denn extern/global verhindern ?
-
Indem du die Color-Variable als Eigenschaft (siehe FAQ) von Form1 deklarierst z.b.... stellt sich natürlich die Frage nach deinem Anwendungsaufbau... Die Color-Variable hat doch sicher eine Art "Herr und Meister"... welche die Farbe verwaltet... dahin gehört sie dann auch...
-junix