extern



  • Also ich mache gerade was mit DirectDraw und wollte gerade eine Funktion schreiben, die ein Direct Draw Objekt erzeugt und es sozusagen startklar macht.

    Den Quellcode habe ich größtenteils aus einem Buch übernommen.
    Ich habe das Programm nun mit meiner damaligen Windowsdatei, winmain.cpp verbinden wollen.
    Also, dass ich in der winmain dann später die DirectDraw Funktion aufrufen könnte.

    Wenn man mit DirectDraw arbeitet braucht man aber das Handle von winmain, also HWND hwnd.

    Also habe ich in der DirectDraw Datei geschrieben:
    extern HWND hwnd // hwnd ist der gleiche Name, wie in winmain

    eigentlich müsste es doch gehen, dass ich dann hwnd verwenden kann und es den gleichen Inhalt hat, wie in der Winmain Funktion, oder?
    kann man das noch anders lösen?

    //winmain
    HWND hwnd;

    if( !( hwnd = CreateWindowEx( NULL,
    szclassname,
    "Eine Fensteranwendung unter Windows",
    WS_OVERLAPPEDWINDOW | WS_VISIBLE,
    100,
    200,
    400,
    300,
    NULL,
    NULL,
    hinst,
    NULL ) ) )
    return( 0 );
    //winmain

    //------------------
    //directdraw funktion in anderer Datei

    extern HWND hwnd;

    lpDD->SetCooperativeLevel( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN );
    //directdraw funktion
    //------
    //------

    //fehlermeldung

    error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hwnd'
    fatal error C1004: Unerwartetes Dateiende gefunden
    Fehler beim Ausführen von cl.exe.

    //vor dem hwnd steht aber nur die include anweisung


Anmelden zum Antworten