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