czClassName kann nicht konvertiert werden?!



  • Wenn Du Unicode deaktivierst, dann kannst Du Unicode nicht verwenden;)

    Braucht man für den Anfang auch sicherlich nicht.



  • man sollte heutzutage immer unicode verwenden, es gibt keinen grund es nicht zu tun.



  • @nttan so wie ich das oben sehe gibt es gute Gründe es nicht zu tun 😃

    Ok ich gugge mal ob ich das in meiner deutschen Version auch hinkriege, danke für die Hilfe!



  • nttan schrieb:

    man sollte heutzutage immer unicode verwenden, es gibt keinen grund es nicht zu tun.

    Solange du

    DragoXP schrieb:

    keine Japanischen oder Russischen oder sonstwelche Buchstaben verwendest

    gibt es keinen Grund, es zu tun.



  • Vorteil wiederrum wäre das Windows selbst Unicode benutzt und dann nicht erst selbst hin- und ggf. zurück konvertieren muss 😉



  • Airdamn schrieb:

    oder Du benutzt

    const TCHAR szClassName[] = TEXT("Erstes Fenster");
    

    Dann ist es egal ob Du UNICODE verwendest oder nicht 😉

    👍 - Endlich - 👍 und alles andere ist Schwachsinn (char, wchar_t, LPCWSTR, ...).



  • Schwachsinn? Naja, das:

    LPCWSTR szClassName = L"Erstes Fenster";
    

    funktioniert jedenfalls Problemlos! 🙂

    Danke nochmal für eure Hilfe! Echt genial hier 🙂



  • Naja, aber nur *mit* Unicode...



  • Ne, das hat doch mit Unicode nix zu tun!

    Du bringst hier was durcheinander:
    In MSVC Projekten kann man eine *Define* setzen (UNICODE, _UNICODE); dieses Define ist nur ein *Define*!!!!!
    Dieses wirkt sich auch *nur* auf tchar.h und windows.h aus...

    Du kannst aber *jederzeit* Unicode-Funktionen verwenden, auch wenn Du diese Defines *nicht* gesetzt hast!



  • Jochen Kalmbach schrieb:

    Ne, das hat doch mit Unicode nix zu tun!

    Du bringst hier was durcheinander:
    In MSVC Projekten kann man eine *Define* setzen (UNICODE, _UNICODE); dieses Define ist nur ein *Define*!!!!!
    Dieses wirkt sich auch *nur* auf tchar.h und windows.h aus...

    Du kannst aber *jederzeit* Unicode-Funktionen verwenden, auch wenn Du diese Defines *nicht* gesetzt hast!

    Joar das ist mir schon klar, ich meinte aber eher, dass die Kombinationen aus A-, W- und Markovarianten der entsprechenden Funktionen, Strukturen etc. ein Problem sind, Beispiel:

    LPCWSTR szClassName = L"Erstes Fenster"; // nur Unicode!
    WNDCLASS data; // A- oder W, also ANSI oder UNICODE...
    data.lpszClassName = szClassName;
    

    Das erzeugt beim kompilieren auf UNICODE keine Fehler, beim kompilieren auf ANSI jedoch schon, da 'data' ja auf dem Typ WNDCLASSA basiert (wegen des Makros).

    Edit: Vertipper korrigiert


Anmelden zum Antworten