wininet.h wininet.lib einbinden



  • Hi,
    ich versuche eine Internetverbindung zum Update-Check aufzubauen und orientiere mich an folgendem Projekt: http://www.codeproject.com/cpp/updatecheck.asp

    Mein Problem ich erhalte folgende Fehler:
    error C2065: 'HINTERNET' : nichtdeklarierter Bezeichner
    error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hInet'
    error C2065: 'hInet' : nichtdeklarierter Bezeichner
    error C2065: 'InternetOpen' : nichtdeklarierter Bezeichner

    Es werden also die Definitionen nicht erkannt, die ich aber über

    MyAppDlg.h:
    #include <wininet.h>
    

    eingebunden habe.

    Auch im Menü "Projekt - Einstellungen - Linker" bei "Objekt-/Bibliothekmodule" habe ich die Bibliothek "wininet.lib" hinzugefügt.

    Wo liegt jetzt noch der Fehler?
    Danke für eure Hilfe!



  • Versuch mal die Lib so einzubauen :

    #pragma comment(lib, "wininet.lib")
    

    Vielleicht ist da was schief gegangen mit der Lib ...

    Gruß
    :: NoName ::



  • Hab ich zwischenzeitlich auch schon probiert, leider ohne Erfolg 😞 Immernoch die gleichen Fehler...

    Was muss ich sonst noch beachten, außer folgende Zeilen in die Headerdatei meines Dialogs einzubauen??

    #include <wininet.h>
    #pragma comment(lib, "wininet.lib")
    


  • @mat

    guck doch mal
    http://www.codeproject.com/cpp/updatecheck.asp?df=100&forumid=26041&select=664719#xx664719xx

    vielleicht hilft es dir weiter... ciao veganza



  • Danke für den Hinweis!

    Hatte ich aber leider auch schon entdeckt und ausprobiert - ohne Erfolg 😞
    Weder mit Pragma, noch mit den Einstellungen des VC

    Wie kann ich diesen Fehler näher einkreisen? Anscheinend können die Definitionen aus wininet.h nicht gefunden werden, oder liegt sowas eher an der .lib?
    In welche Dateien includiert man am besten die .h?

    Bei mir sieht die .cpp so aus:

    #include "stdafx.h"
    #include "MyApp.h"
    #include "MyAppDlg.h"
    

    in der Header Datei steht als erstes das Include für wininet.h
    Fehlen evtl. noch andere Header-Dateien??

    Bin für jeden weiteren Tipp dankbar



  • @mat

    in .h sollte man nicht #include'n 😮
    in .h stehen deine variablen & funktions-deklarationen

    in der .cpp da machst du dann dein #include

    1. füge die updatecheck.cpp & .h deinem projekt hinzu
    2. füge in der updatecheck.cpp hinter den dort befindlichen #include's folgenden code ein

    #include "wininet.h"
    
    #pragma comment( lib, "wininet.lib" )
    #pragma comment( lib, "version.lib" )
    

    und fertig ist das ganze... hoffe ich 😉

    ciao veganza



  • veganza schrieb:

    und fertig ist das ganze... hoffe ich 😉

    Wenn's so einfach wär' 😉

    Hab jetzt extra ein neues Projekt erstellt um andere fehler auszuschließen. Nur mit einem Button wie in obigem Link beschrieben. Meine .cpp fängt wie folgt an:

    // updateDlg.cpp : Implementierungsdatei
    
    #include "stdafx.h"
    #include "update.h"
    #include "updateDlg.h"
    
    #include "wininet.h" 
    
    #pragma comment( lib, "wininet.lib" ) 
    #pragma comment( lib, "version.lib" )
    
    #include "UpdateCheck.h"
    

    Hab auch versucht die libs im VC direkt einzugeben. Alles ohne Erfolg!
    Wieder die gleichen Fehler:

    error C2065: 'HINTERNET' : nichtdeklarierter Bezeichner
    error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hInet'
    error C2065: 'hInet' : nichtdeklarierter Bezeichner
    error C2065: 'InternetOpen' : nichtdeklarierter Bezeichner
    error C2065: 'INTERNET_OPEN_TYPE_PRECONFIG' : nichtdeklarierter Bezeichner
    error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hUrl'
    error C2065: 'hUrl' : nichtdeklarierter Bezeichner
    error C2065: 'InternetOpenUrl' : nichtdeklarierter Bezeichner
    error C2065: 'INTERNET_FLAG_RELOAD' : nichtdeklarierter Bezeichner
    ...
    

    Eigentlich kanns doch nicht so schwer sein, hab doch auch schon bei anderen Projekten mit includes und libs gearbeitet...



  • @mat,

    nicht in deine Dialog-Klasse ( updateDlg.cpp ) in der du die UpdateCheck Klasse benutzen willst sollst du den Code von mir einfügen, sondern in die UpdateCheck.cpp 🙄

    habe ich auch so im vorletzten reply geschrieben...

    ciao veganza



  • morgen ,
    also nach kuzem Nachgucken in der msdn ergibt sich , dass
    HINTERNET ein operator von CInternetConnection ist . Ich weiss nicht , ob diser operator auch in wininet.h enthalten ist ..



  • Auch ein blindes Huhn....

    Danke für die Geduld 👍, jetzt hab ich es hinbekommen 🙂



  • mat schrieb:

    Danke für die Geduld 👍, jetzt hab ich es hinbekommen 🙂

    😉


Anmelden zum Antworten