Ein erstes Fenster



  • Der Header ist in C++ nicht mehr nötig, afaik.
    Ich merke aber gerade, dass ich den falschen Parameter verantwortlich gemacht habe.
    Es geht ja um szClassName. Dann solltest du natürlich dessen Datentyp entsprechend abändern (const wchar_t*).
    Wie gesagt, wchar_t* ist, wenn mich meine bescheidenen WinAPI-Kenntnisse nicht im Stich lassen, der Typ für Strings in der Windows-Programmierung.
    Aber eigentlich gehört das gar nicht einmal in dieses Unterforum.



  • Hmmm....
    Wenn ich das ganze jetzt wie du sagtest in const wchar_t
    ändere, kommt zwar keine Fehlermeldung mehr, aber es
    passiert auch weiter überhaupt nichts, es bleibt alles
    wie es ist, ohne irgendeine Ausgabe, ab und zu stürtzt
    sogar das Programm ab.



  • "ab und zu"? Ein wenig vage.

    Apropos vage: Sorry, dass das hier nicht die nützlichsten Tipps sind. Ich konnte mich nur noch dunkel erinnern, auch einmal vor diesem "Problem" gestanden zu haben, und dachte, dass ein führendes L vor allen Stringliteralen und die Konsequente Verwendung von wchar_t (resp. LPCWSTR) wäre die einfache Lösung.
    Ich habe auch gerade kein Windows da, um es testen zu können. Insofern wäre ich kompetenteren Leuten sehr verbunden, hier Abhilfe zu leisten.



  • Ok "ab und zu" mal konkreter definiert xD:
    Manchmal stürtzt es ab, nachdem ich das zweite mal
    Compilieren lasse, manchmal nach dem dritten mal,
    machmal nach dem vierten mal.

    😉



  • Wann, also an welcher Stelle im Programm, stürzt es denn ab? Was meinst du mit "4tes Mal kompilieren"?



  • Naja, ich habs öfter versucht zu compilieren und an welcher
    Stelle es abstürtzt kann ich nicht sagen, da ja wie ich schon
    sagte, nichts passiert, alle Fenster bleiben weiß und wenn es
    abstürtzt, bekomme ich von Windows lediglich die Meldung,
    das das Programm nicht mehr reagiert.



  • Ist dir der Unterschied zwischen "Programm ausführen" und "Programm kompilieren" klar?



  • Beim Compilieren wird der Code in die "Computersprache"
    übersetzt und beim ausführen wird dieses Programm, das
    in die "Computersprache" übersetzt wurde eben ausgeführt?



  • Wie meinst du dann, dass du das Programm "öfter versuchst zu kompilieren"? Kompilierst du das Programm mehrmals hintereinander und testest es jedes Mal, und manchmal stürzt es ab und manchmal nicht?
    Werden die Fenster denn mit richtigem Titel etc. angezeigt?



  • Ahja dann hab ich das tatsächlich verwechselt, d. h. ich hab es
    mehrmals ausgeführt. Das Fenster das ich versuche zu erstellen
    wird nicht angezeigt. Wie gesagt, es passiert nichts.



  • //Der Klassen-Name des Fensters ist frei wählbar
        const char szClassName[] = "Erstes Fenster";
    

    das hier ist falsch - besagt die Fehlermeldung.
    ->

    //Der Klassen-Name des Fensters ist frei wählbar
        const wchar_t szClassName[] = "Erstes Fenster";
    

    char umfasst nur den einfachen ascii-zeichensatz
    wchar_t umfasst den gesamten unicode-zeichensatz - und der wird windowsintern wohl auch seit ein paar versionen verwendet.

    beim nächsten mal nutze doch bitte die cpp-tags anstatt der code-tags
    des weiteren sollte dir ganz schnell klar werden, dass das ins winapi-forum gehört - im C++ forum hat so etwas nichts zu suchen.

    wenn es nach der änderung oben noch immer nicht klappt, poste noch mal deinen code, so wie ihn du hast und die exakte fehlermeldung.

    für die fehlermeldung nimmst du am besten code-tags und für den code wie gesagt die c++-tags.

    bb


Anmelden zum Antworten