prolem mit <windows.h>



  • hola leute

    hab hier nen komischen effekt.
    hab ne main.cpp wo ich ein ganz einfaches fenster erzeugen lasse.
    nun hab ich eine klasse x in der datei x.h geschrieben und habe auch dort
    die <windows.h> includiert. nun bekomme ich nen haufen

    [C++ Fehler] winuser.h(1159): E2303 Typname erwartet
    

    fehler. sobald ich das include auskommentiere laeufts wieder astrein. wo kann da der fehler leigen ?

    das ist der gesammte inhalt von x.h:

    #ifndef XKlasseH
    #define XKlasseH
    
    #include <windows.h>
    
    namespace x
    {
       class KlasseX
       {
          public:
             KlasseX() { }
             virtual ~KlasseX(void) = 0;
       };
    }
    
    #endif
    

    ich hab noch nicht mal die x.h in der Main.cpp includiert.
    weiters springt er mir in winuser.h in die zeile 1159.

    WINUSERAPI
    HDESK
    WINAPI
    CreateDesktopA(
        IN LPCSTR lpszDesktop,
        IN LPCSTR lpszDevice,
        IN LPDEVMODEA pDevmode,
        IN DWORD dwFlags,
        IN ACCESS_MASK dwDesiredAccess,
        IN LPSECURITY_ATTRIBUTES lpsa);  // Zeile 1159
    

    verwende den BCB6.

    Meep Meep

    Nachtrag: sind auch einige fehlermeldungen dabei das Bezeichner mehrfach deklariert sind.



  • Hast du vielleicht bisher schon winuser.h irgendwo direkt (also nicht über windows.h) eingebunden?


  • Mod

    windows.h ist so komplex, dass Du in jedem Fall diese Header Datei möglichst früh in Deinem Projekt inkludieren solltest!



  • re

    hab ausser windows nichts anderes includiert was winuser.h einbinden koennte.
    windows ist in beiden faellen als erstes includiert worden.
    ein neustart des systems hat auch nix gebracht, was schon oefters beim BCB6 geholfen hatte.
    obj-files usw. hab ich auch schon geloescht.
    der fehler tritt trotzdem weiterhin auf.
    vielleicht sollte ich mal den BCB neu installieren.

    Meep Meep



  • Meep Meep schrieb:

    [...]
    vielleicht sollte ich mal den BCB neu installieren.
    [...]

    Benutze zwar kein BCB aber das hilft eigentlich immer 😉 .



  • hab den BCB jetzt neu installiert und siehe da, es funktioniert.

    Meep Meep


Anmelden zum Antworten