Include-Problem? (Dialogfenster)
-
Hallo,
folgendes Problem:
Es gibt: MyClassDlg.h sowie MyClassDlg.cpp welche unabhängig von Projekten sein soll. Dazu gibts eine Dialogfensterresource, welche in die Resource der Projekte hineinkopiert wird.
Im Projekt werden MyClassDlg.h und *.cpp bekanntgemacht.Problem:
Beim Compilieren gibts viele Fehler welche damit anfangen:
MyClassDlg.h ... // Dialogfelddaten enum { IDD = IDD_DIALOGFENSTER }; ...
error: 'IDD_DIALOGFENSTER': nicht deklarierter Bezeichner.
...u.v.m.Natürlich läßt sich das umgehen wenn in MyClassDlg.h das Projektheaderfile (CProjektApp) mit
#include "CProjekt.h"
inkludiert wird.
Damit verliert es aber die Unabhängigkeit und ich müßte eine solche Dialogklasse ständig mit diesem include erweitern und sinnlos der Headerfiles der anderen Projekte miteinbinden.
Wie kann ich das lösen um das zu vermeiden?
MfG
-
#include "resource.h"
Dort trägt der Ressource-Editor die IDs ein.!
-
Habs nun so gelöst:
stdafx.h des Projekts:
#ifndef PROJEKT #define PROJEKT #endif
MyClassDialog.cpp:
#ifdef PROJEKT #include "PROJEKT.h" #endif
So muß ich halt nun für jedes Projekt was MyClassDialog.cpp braucht die def Prüfung einbauen. Nicht gerade schön aber geht wohl nicht anders.
Außer jemand weiß wie ich mir auch das sparen kann.
-
Du hättest auch eine eiegen RC Datei bauen können, die Du in die RC Datei als feste defines includest.
PS: Sorry für meine erste Antwort. Da habe ich Deinen Text zu schnell überfolgen und Dein Problem nicht erkannt.