Problem mit erstem WinAPI Programm



  • hat leider auch nicht geholfen.
    da passiert das selbe.



  • Bei

    if (hWnd=NULL)
    

    müsste der Compiler eigentlich ne Warnung erzeugen



  • nee. das geht alles.
    also Visual C++ ist beim Debuggen und es wird mir kein Fenster angezeigt.

    btw. Kennt jemand ein gute Tutorial irgendwo online für die WinAPI?



  • du überschreibst das Fenster-Handle mit if(hWnd=NULL) ⚠



  • Bei Vergleichen gehört auf jedenfall ein == hin.



  • Also wenn du an

    if (hWnd=NULL)
    

    nichts ungewoehnlich findest ... dann solltest du dir nochmal die Grundlagen ansehen 😉

    Ansonsten ist die MSDN die beste Anlaufstelle, wenns um die WinAPI geht.
    Kannst z.B. hier anfangen: http://msdn.microsoft.com/en-us/library/bb384843.aspx



  • Eric Cartman schrieb:

    Also wenn du an

    if (hWnd=NULL)
    

    nichts ungewoehnlich findest ... dann solltest du dir nochmal die Grundlagen ansehen 😉

    Das werde ich glaub ich nicht tun.

    War nur ein Rechschreibfehler. Jetzt funktioniert es komischer weise 😃
    mit

    if (hWnd==NULL)
    


  • Ich hätte gedacht, dass VC da direkt ne Warnung rausgibt. Das tut es scheinbar erst wenn man die Warnstufe auf "Level4 (/W4)" hochsetzt.



  • Crysis_02 schrieb:

    Eric Cartman schrieb:

    Also wenn du an

    if (hWnd=NULL)
    

    nichts ungewoehnlich findest ... dann solltest du dir nochmal die Grundlagen ansehen 😉

    Das werde ich glaub ich nicht tun.

    War nur ein Rechschreibfehler. Jetzt funktioniert es komischer weise 😃
    mit

    if (hWnd==NULL)
    

    Der Fehler passiert mir auch manchmal, da C und auch C++ hier nicht logisch mit dem Gleichheitsoperator umgehen. Warum man für Gleich == genommen hat und für eine Zuweisung = ist mir bis heute ein Rätsel und fern der Mathematik. Eine Zuweisung sollte in einer Programmiersprache nie mit einem Gleichheitszeichen geschehen, das := wie in Pascal ist zwar nicht schön aber weit aus logischer.



  • Crysis_02 schrieb:

    Eric Cartman schrieb:

    Also wenn du an

    if (hWnd=NULL)
    

    nichts ungewoehnlich findest ... dann solltest du dir nochmal die Grundlagen ansehen 😉

    Das werde ich glaub ich nicht tun.
    War nur ein Rechschreibfehler. Jetzt funktioniert es komischer weise 😃
    mit

    if (hWnd==NULL)
    

    Das hat mit WinApi wenig zu tun, weil C-Grundlagen: Zuweisungsoperator = und Vergleichsoperator == 😉 Komischerweise gibt es in der Programmierung nicht oder selten. Meist sind es eigene Fehler! 😃 Das Gleichheitszeichen für eine Zuweisung (statt := in Pascal) wurde so gewählt, weil R&K schreibfaul waren und wir es doch auch sind.



  • GleichKeineZuweisung schrieb:

    Der Fehler passiert mir auch manchmal, da C und auch C++ hier nicht logisch mit dem Gleichheitsoperator umgehen. Warum man für Gleich == genommen hat und für eine Zuweisung = ist mir bis heute ein Rätsel und fern der Mathematik. Eine Zuweisung sollte in einer Programmiersprache nie mit einem Gleichheitszeichen geschehen, das := wie in Pascal ist zwar nicht schön aber weit aus logischer.

    An = für Zuweisung ist überhaupt nichts unlogisch.
    Es mag für dich nicht stimmig sein, aber das macht es nicht unlogisch.
    Deine Logik ist unlogisch.



  • Da zwischen Zuweisung = und Vergleich == unterschieden werden muss und da die Zuweisung häufiger vorkommt, ist die gewählte Konvention sehr sinnvoll und lässt sich mit logischem Denken vereinbaren. 😋 Sind wir hier im Kindergarten? 😕


Anmelden zum Antworten