Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.03.2013, 11:19

SDL Warteschleifen problem

Hallo,
ich habe jetzt seit längerer zeit das problem, das ich ein schleife erstellen will, doch entweder, kommt wenn ich die .exe starte, keine rückmeldung,
oder das programm beendet einfach. hier ist die schleife:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
while(quit == true)
        {
            SDL_Event event;
            while(SDL_PollEvent(&event))
            {
                switch(event.type)
                {
                case SDL_QUIT:
                    quit = false;
                    break;
                }
            }
        }



was mache ich falsch, eigentlich sollte es ja funktionieren, doch das programm beendet sich einfach...

Mfg Conti

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

28.03.2013, 11:26

So wie es da steht kann ich da nichts zu sagen. Möglicherweise ist "quit" vor der Schleife schon false? Allgemein ist es jetzt schlecht die Variable "quit" zu nennen und den Code so zu entwickeln, dass "quit" false sein muss um das Programm zu beenden. Ansonsten setz dich mal mit dem Debugger auseinander.
edit:
Je nachdem welche IDE du verwendest kannst du da einfach bei Google nach Informationen suchen. Zu Visual Studios Debugger findest du zum Beispiel bei der MSDN was. Dann solltest du ein paar Breakpoints setzen und das Programm mal durchgehen. Das hilft meist weiter.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

3

28.03.2013, 11:35

jap wuit ist vor der schleife schon false, ich hätte es wissen müssen... :dash:
Danke für die schnelle antwort.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

28.03.2013, 12:14

Gerne:) Den Debugger solltest du dir aber wirklich angucken. Damit kannst du das Programm zur Laufzeit an bestimmten Stellen unterbrechen und genauer untersuchen. Du kannst gucken welche Werte die Variablen zu diesem Zeitpunkt haben. Weiterhin hast du die Möglichkeit das Programm Schritt für Schritt weiterlaufen zu lassen. So kannst du genau gucken welche Funktionen ausgeführt werden und was diese wirklich zurück geben. Damit hättest du in diesem Fall gesehen, dass die Schleife gar nicht erst ausgeführt wird. Dann hättest du auf den Wert von "quit" achten können und direkt gesehen, dass "quit" false ist. Und das schöne dabei ist, dass ganze ist nicht mal kompliziert. Tu dir also selbst den Gefallen und guck dir den Debugger an:)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige