Plötzlich muss umgewandelt werden?



  • Hallo!

    Ich schrieb immer:

    CreateWindowEx(NULL, szAppClass, "RPGEngine", WS_OVERLAPPEDWINDOW | WS_VISIBLE, GetSystemMetrics(SM_CXSCREEN)/2 -250, GetSystemMetrics(SM_CYSCREEN)/2 -187, 500, 375, NULL, NULL, hInstance, NULL);
    

    Jetzt wollte ich meine Engine überarbeiten aber plötzlich muss ich ein "L" vor "RPGEngine" setzen, also so:

    CreateWindowEx(NULL, szAppClass, L"RPGEngine", WS_OVERLAPPEDWINDOW | WS_VISIBLE, GetSystemMetrics(SM_CXSCREEN)/2 -250, GetSystemMetrics(SM_CYSCREEN)/2 -187, 500, 375, NULL, NULL, hInstance, NULL);
    

    Weil:

    error C2664: 'CreateWindowExW' : cannot convert parameter 3 from 'const char [10]' to 'LPCWSTR'
    

    Warum ist das plötzlich so? Früher ging es ohne dem L und plötzlich ist auch meine Textur nur noch weiß weil ich vor den namen auch ein L hab schreiben müssen (DirectX CreateTextureFromFile oder so)

    Was ist da faul?



  • Früher hast du wohl vs03 oder älter benutzt und heute vs05
    früher war ansi standardmäßig eingestellt, seit 05 ist unicode standardmäßig eingestellt

    Mach einfach ein _T() um deine Zeichenketten für die WINAPI-Aufrufe dann klappts.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten