Announcement

Collapse
No announcement yet.

Probleme mit CreateWindow (liefert NULL zurück)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit CreateWindow (liefert NULL zurück)

    Hi,

    also versuche ich es hier auf Anraten auch nochmal.

    Also, ich muss (ohne MFC) ein objektorientiertes C++-Framework um das WindowsAPI zur Erzeugung von Fenstern herumbasteln.
    Viele meiner anfänglichen Schwierigkeiten (z.B. WndProc-Problem etc.) sind behoben.

    Ich habe nun in einer Klasse die Window-Funktionalität gekapselt. Im Konstruktor wird dabei die WNDCLASS registriert und CreateWindow aufgerufen... und da knirscht es.

    CreateWindow liefert aber NULL zurück und bei nachfolgendem Aufruf von GetLastError() wir der Fehlercode

    87 The parameter is incorrect. ERROR_INVALID_PARAMETER

    zurückgeliefert. Der sagt mir aber, wie Euch allen wahrscheinlich, garnichts. Wer sich für den Code interessiert schaut am besten mal in meinem Posting in der C++-Ecke vorbei:

    <a href="/webx?50@@.ee88ed5">Bernd Wegener "CreateWindow (Win32-API) liefert NULL" 22.11.2001 21:21</a>

    Ich bin am Verzweifeln, weil der gleiche Code, wenn er in der WinMain und nicht im Konstruktor meiner Klasse steht das Fenster sauber anzeigt. Es kann ja aber nicht wahr sein, dass sich Win32-API-Aufrufe anders verhalten, wenn sie in einem Klassenkonstruktor aufgerufen werden, oder ?

    Ich wäre wirklich extrem dankbar, wenn jemand etwas zur Lösung dieses Rätsels beitragen könnte.

    Gruss

    Bernd

  • #2
    Jetzt hat der blöde Formatter im Forum doch glatt den URL zum Forenbeitrag in die Titelzeile umgewandelt... schiesst manchmal ein bischen scharf das Teil, aber, das lass ich mir nicht gefallen ;o)

    Hier der URL:

    <pre>
    <a href="/webx?50@@.ee88ed5">Bernd Wegener "CreateWindow (Win32-API) liefert NULL" 22.11.2001 21:21</a>
    </pre&gt

    Comment


    • #3
      Gebe mal für szClassName den tatsächlichen registrierten fensterklassennamen ein, zB. 'MyWndClass'. Es könnte nämlich sein das szClassName doppeldeutigt ist mit Self.szClassName bzw. this.szClassName. Ok, ich bin kein C/C++'ler und kenne nicht die Member der C++ Objecte, es könnte aber dennoch so sein.

      Gruß Hage

      Comment


      • #4
        Hi Hagen,
        das wird's wohl nicht sein, denn ich habe ja vorher das Feld für den Klassennamen der WNDCLASS mit exakt dem gleichen Bezeichner initialisiert. Als ich mal mit nem Debugger drübergestept bin, hatte das Feld den korrekten Wert. Werde es aber trotzdem nochmal versuchen. Kann ja nicht schaden.

        Danke

        Bern

        Comment


        • #5
          Hi nochmals Hagen,
          wie erwartet war das nicht das Problem. Nur um den Infostand aktuell zu halten ;o)

          Gruss

          Bern

          Comment


          • #6
            THREAD IST GESCHLOSSEN !!!

            Hallo,
            bitte postet zu diesem Thread in Zukunft nichts mehr, das Problem ist gelöst.

            Danke

            Bern

            Comment


            • #7
              man ist neugierig ..
              Günther

              Comment


              • #8
                Hi Günther,
                das Problem war, dass ich in der WndProc aus Faulheit vorerst ein return 0 anstatt des Aufrufs der DefaultWndProc codiert hatte. Das war wirklich dumm, dumm, dumm...

                Gruss

                Bern

                Comment

                Working...
                X