c++ WinAPI und lauter Fehler



  • Ab VS2005 ist per default alles UNICODE (was auch gut so ist)...
    Somit muss Dein Code so aussehen:

    #include <windows.h>
    #include <tchar.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE PrevInstance, PSTR szCmdLine, int CmdShow)
    {
      LPCTSTR Test1 = _T("Hallo");
      int Ausgabe = MessageBox(NULL, Test1, _T("Hi"), MB_OKCANCEL | MB_ICONEXCLAMATION | MB_DEFBUTTON1);
      return 0;
    }
    


  • annst du den code vielleicht noch ein wenig erläutern? Wieso tchar inkludieren zB?
    Und den Syntax hiervon:
    LPCTSTR Test1 = _T("Hallo");
    Was soll das _T(" ") bedeuten`?

    EDIT:
    Ach und es entsteht nach dem compilen keine .exe...



  • In der tchar.h ist Unicode-Krempel definiert.
    _T("HALLO") sagt das HALLO Unicode-Zeichen sein sollen.
    (Unicode wird von Windows ab Win2K intern verwendet)

    (Alternativ kannst du Unicode vermutlich auch ausschalten)

    Ne .exe entsteht bei Compile-Fehlern selten 😉



  • geeky schrieb:

    In der tchar.h ist Unicode-Krempel definiert.

    Na... das stimmt so nicht ganz.
    tchar.h enthält alle MACROS, welche es erlaube sowohl für ANSI als auch UNICODE mit *ein und dem selben* Source zu kompilieren. Deshalb spielt es dann keine Rolle ob ANSI oder UNICODE in den Projekteinstellungen definiert wurde...

    Das "_T" ist ein Macro, welches entweder zu "(nix)" expandiert oder zu "L"...
    Somit wird entweder ein normaler String deklariert oder ein Unicode-String (L).



  • Mein neues Problem scheint unumgänglich:

    Wie oben erwähnt bekomm ich keine .exe raus....

    Was muss ich tun um eine zu bekommen? Nach dem ERFOLGREICHEN compilen ensteht keine?!



  • Dark_DanI schrieb:

    Was muss ich tun um eine zu bekommen? Nach dem ERFOLGREICHEN compilen ensteht keine?!

    Aber mit dem ERFOLGREICHEN linken...
    Oder einfach F5 drücken...



  • Das System kann die angegebene Datei nicht finden...

    Die exe scheint also nicht zu existieren?!:; 😕



  • Hmmm...wie ich gelesen habe, benutzt du Dev-C++. Sollte das einer dieser seltsamen Bugs der IDE sein? Ansonsten, poste mal das Build Log. Bzw. schaue mal im Projektverzeichnis nach, ob dort irgendwo eine .exe erstellt wurde.



  • später hab ich geschrieben, dass ich seit der Empfehlung auf Visual C++ Express Edition umgestellt habe...



  • OK, ändert aber nichts daran

    Ansonsten, poste mal das Build Log. Bzw. schaue mal im Projektverzeichnis nach, ob dort irgendwo eine .exe erstellt wurde.



  • WinAPI Projekt erstellen, Kleinigkeiten anpassen, dann funktionierts auch mit
    dem DEV.


Anmelden zum Antworten