"Nicht aufgelöstes externes Symbol" - Bin ratlos!



  • Hi!

    Mal wieder erst der Code:

    //Globale Virablen:
    HINSTANCE hInst;
    

    [...]

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow)
    {
    	hInst= hInstance;
    

    [...]

    void CheckButtonPressed(WPARAM wParam, LPARAM lParam)
    {
    	    if(LOWORD (wParam) == IDC_ABOUT)
    		{
    		DialogBox(hInst,(LPCSTR) IDD_ABOUTBOX, NULL, (DLGPROC) DialogAbout); // <<< Genau da soll sich dieses unaufgelöste Symbol befinden.
    		}
    }
    

    Der Fehler scheint in der hInst Variable ausgelöst zu werden, ich weiß nur beim besten Willen nicht wieso!

    Kann mir jemand helfen?

    Gruß veryxRV



  • Genauer Fehler?

    Bzw. hast du alle Libs drin...?



  • Der genaue Fehler ist:

    Wettbewerb error LNK2019: Nicht aufgeloestes externes Symbol "long __stdcall DialogAbout(struct HWND__ *,unsigned int,unsigned int,long)" (?DialogAbout@@YGJPAUHWND__@@IIJ@Z), verwiesen in Funktion "long __stdcall MainMessageHandler(struct HWND__ *,unsigned int,unsigned int,long)" (?MainMessageHandler@@YGJPAUHWND__@@IIJ@Z)

    Und ich habe alle Libs drin! Habe ein Tamplateprojekt, das mit anderem Code aber den gleichen Ausschnitten gelaufen ist verwendet.

    Nochmal zur Übersicht:

    • hInst Definieren auf erster Ebene, also global
    • hInst zuweisen, nachdem sie von Windows übergeben wurde
    • hInst in der "DialogBox" Anweisung verwenden (was fehlschlägt)


  • Du hast die Dialog-Prozedur 'DialogAbout' nicht definiert (oder dem Compiler wenigstens nicht bekannt gemacht, falls in anderer Quellcodedatei).



  • Das Aufrufen der "DialogBox" Prozedur funktioniert aber in genau derselben Quelldatei als direkter Aufruf in der WinMain! Also scheint dem Compiler es schon bekannt zu sein.



  • veryxRV schrieb:

    Das Aufrufen der "DialogBox" Prozedur [...]

    ungleich

    CodeFinder schrieb:

    die Dialog-Prozedur 'DialogAbout' nicht definiert[...]

    ➡ ⚠

    ALSO: DialogBox != DialogAbout



  • Ja schon klar, aber ich verwende ja auch "DialogBox" und nicht "DialogAbout" 😉

    EDIT: Aaah jetzt weiß ich, was ihr meint! Richtig, davon habe ich nur den Prototypen definiert! Danke 🙂



  • 😉 ... Die Namen sind hier schon sehr ähnlich, is mir auch schon mal passiert :p .


Anmelden zum Antworten