Fox-Fenster plus SDL-Fenster



  • Hallo zusammen,

    ich hab mit dem Fox (FxRuby) in Ruby ein kleines Fenster geschrieben...

    In diesem Fenster ist ein Button, der, wenn der User ihn klickt,ein SDL Fenster öffnet, in dem ein MPEG-Video abgespielt wird.
    Wenn sich das SDL-Fenster öffnet, ist das Fox Fenster weiterhin ohne Probleme benutzbar... hab beides in separate Threads gesteckt und so friert mir kein Fenster ein...

    Es klappt also alles wie gewünscht, aber...nur das 1.Mal 😞

    Wenn der User ein 2.Mal auf den Button klickt, öffnet sich das SDL-Fenster samt Video zwar auch, jedoch lässt es sich nicht mehr schließen.
    Weiß jemand, woran das liegen könnte? Und was ich dagegen machen kann?

    Vielen Dank schon einmal für alle Tipps!

    Ich weiß, dass ist hier das C++ Forum, aber den Fox gibts ja auch für C++ und SDL auch, von daher dürfte das Problem auch hier relevant sein 🙂

    hier ein Stück aus meinem Code:

    @button2 = FXButton.new(self, "SDL-Video", :opts=>BUTTON_NORMAL|LAYOUT_EXPLICIT, :x => 350, :y => 400, :width => 40, :height => 40)
    @button2.connect(SEL_COMMAND){t2=Thread.new {mpeg}

    # der Button im Fenster
    ...

    mpeg.play

    loop do

    case event = SDL::Event.poll
    when SDL::Event::Quit
    mpeg.stop
    SDL.quit()
    #Thread.kill(t2) # war nur so ein Versuch...
    when SDL::Event::KeyDown
    case event.sym
    when SDL::Key::S
    mpeg.stop
    when SDL::Key::P
    mpeg.play
    when SDL::Key::R
    mpeg.rewind
    mpeg.play
    when SDL::Key::ESCAPE
    exit
    end
    end


Anmelden zum Antworten