SDL exe Problem



  • Hi,
    ich habe folgendes Problem^^
    Und zwar habe ich vor kurzem meine erste sinnvolle Anwendung mit der SDL geschrieben und wollte die exe weiterschicken.
    Allerdings ist mir aufgefallen, dass (logischerweise) die Konsole, nach dem Öffnen, sich automatisch schließt, solange keine Eingabe erforderlich ist.
    Und wenn sich die Konsole nach dem Öffnen sofort schließt, schließt sich auch die SDL Anwendung...

    Gibt es irgendeine Möglichkeit zu Verhindern, dass sich die Anwendung sofort schließt?

    Natürlich habe ich es schon mit paar Eingabemöglichkeiten sowie getch() ausprobiert, jedoch funktioniert es auf diese Weise nicht wirklich.



  • Und bei dir rennt das Programm so wie es soll?

    Bitte erkläre ein wenig genauer. Aus deinem Post ist schwer zu deuten, wo dein Problem liegt. 😉



  • Es ist ja so, dass die Konsole bei der Konsolenanwendung von VisualStudio sich automatisch schließt solange keine Eingabe erforderlich ist.
    Und da die SDL unter derselben Konsolenanwendung gestartet wird, schließt sich das Programm beim öffnen der exe Datei automatisch.

    Allerdings läuft das Programm reibungslos, solange man es über Visual Studio startet. (:



  • Brauchst du die Konsole denn wenn du schon SDL hast?

    So oder so brauchst du irgendwo einen Mainloop. Wenn man SDL verwendet üblicherweise eben einen SDL Mainloop. Wofür brauchst du denn die Konsole?
    Wenn der SDL Teil in einem Nebenthread läuft kannst du zusätzlich ja auch noch ein

    while(/*SDL not finished*/)
    {
        //Sleep for 50 ms
    }
    

    einbauen, nur um die Konsole offen zu lassen. Kommt immer drauf an was genau du machen willst. 🙂



  • Die Konsole benutze ich um einige Programmdateien auszuwerten und anzeigen zu lassen.
    Doch da die Konsole sich schließt bevor die SDL überhaupt initialisiert ist, wird eben nichts angezeigt^^

    Aber das mit dem "while" - Loop ist keine schlechte Idee 🙂



  • Dann schreib das halt in eine txt Datei, die kann man dann jederzeit Nachlesen.


Anmelden zum Antworten