Seite 1 von 1

Flash Window crashed bei Tastendruck

Verfasst: Donnerstag 20. Dezember 2007, 07:19
von snakeseven
Ja, das liebe Flash Fenster :)
Dachte, ich hätte irgendwas bei den Bindings falsch gemacht, aber das Flash Fenster verabschiedet sich bei jedem Tastendruck. Dabei sind Key-Bindings noch nicht mal definiert!?

Hab ich irgendwas übersehen ?
Grüße, Seven

Code: Alles auswählen

#!/usr/bin/env python 
# -*- coding: UTF-8 -*-

import wx
from wx.lib.flashwin import FlashWindow 


class FlashFrame(wx.Frame): 
    def __init__(self, parent = None, id = -1, title = "Flash Player",  size = wx.Size(350, 320)): 
        wx.Frame.__init__(self, parent, id, title, size = size) 
        panel = wx.Panel(self) 
        vbox_main = wx.BoxSizer(wx.VERTICAL) 
        panel.SetSizer(vbox_main) 
        self.flash = FlashWindow(panel, style = wx.SUNKEN_BORDER) 
        vbox_main.Add(self.flash, 1, wx.ALL | wx.EXPAND) 
        self.Show() 
        
    
if __name__ == '__main__':
    app = wx.PySimpleApp()
    FF = FlashFrame() 
    app.MainLoop()

Re: Flash Window crashed bei Tastendruck

Verfasst: Donnerstag 20. Dezember 2007, 07:26
von gerold
snakeseven hat geschrieben:das Flash Fenster verabschiedet sich bei jedem Tastendruck.
Hallo snakeseven!

Ich kann an diesem Code nichts entdecken. Es funktioniert bei mir.

mfg
Gerold
:-)

Verfasst: Donnerstag 20. Dezember 2007, 07:59
von snakeseven
Moin Gerold,
vieleicht liegt es daran, dass ich es auf XP laufen habe? Werde es mal mit Ubuntu austesten.

Grüße, Seven

Verfasst: Donnerstag 20. Dezember 2007, 08:25
von gerold
snakeseven hat geschrieben:vieleicht liegt es daran, dass ich es auf XP laufen habe? Werde es mal mit Ubuntu austesten.
Hallo Seven!

Ich habe auch XP laufen. Unter Ubuntu funktioniert das FlashWindow nicht, da es ja auf das Flash-ActiveX-Control aufbaut. Und ActiveX ist eine Windows-Technologie.

mfg
Gerold
:-)

Verfasst: Donnerstag 20. Dezember 2007, 08:32
von snakeseven
gerold hat geschrieben: Unter Ubuntu funktioniert das FlashWindow nicht, da es ja auf das Flash-ActiveX-Control aufbaut. Und ActiveX ist eine Windows-Technologie.
Ja, hat mich Ubuntu auch gerade dran erinnert. Vieleicht hat ja mein wxPython ne Macke? Es crashen bei Tastendruck auch die Beispielscripte aus dem Netz, die FlashWindow benutzen.

Grüße, Seven

Verfasst: Donnerstag 20. Dezember 2007, 08:39
von gerold
snakeseven hat geschrieben:Vieleicht hat ja mein wxPython ne Macke? Es crashen bei Tastendruck auch die Beispielscripte aus dem Netz, die FlashWindow benutzen.
Hallo Seven!

Es muss der Flash-Player für den Internet Explorer installiert sein, auch wenn man den IE nicht benutzt.

Vielleicht probierst du es mal mit dem neuesten Player:
http://www.adobe.com/go/getflashplayer_de

An eine Macke deines wxPython glaube ich nicht. Es macht seit Jahren immer das Gleiche: Es holt sich das aktuell installierte Flash-Player-ActiveX-Control und leitet die Anweisungen an dieses weiter.

Wie macht sich dein Fehler genau bemerkbar?

mfg
Gerold
:-)

Verfasst: Donnerstag 20. Dezember 2007, 08:52
von snakeseven
gerold hat geschrieben:Wie macht sich dein Fehler genau bemerkbar?

Code: Alles auswählen

"pythonw.exe hat ein Problem festgestellt und muß beendet werden"
Nur bei Tastendruck. Dabei braucht mein Script keine Key-Events. Könnte ich die zur Not auch unterdrücken?

Grüße, Seven

Verfasst: Donnerstag 20. Dezember 2007, 10:23
von snakeseven
Wenn ich das Window nicht innerhalb eines Panels generiere klappts.
Allerdings darf ich das Panel auch nicht einfach weglassen, dann habe ich wieder das gleiche Problem, Crash bei Key-Event.
Warum das jetzt so ist, verstehe ich noch nicht, kenne mich aber mit Eventhandling auch noch nicht so gut aus.

Grüße,
Seven

Code: Alles auswählen

self.flash = FlashWindow(self, size = wx.Size(350, 320), style = wx.SUNKEN_BORDER)
statt:

Code: Alles auswählen

self.flash = FlashWindow(panel, style = wx.SUNKEN_BORDER)

Verfasst: Donnerstag 20. Dezember 2007, 11:32
von gerold
Hallo Seven!

Dann spielen wir uns mal ein wenig.

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import wx
from wx.lib.flashwin import FlashWindow


class FlashPanel(wx.Panel):
    
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)
        self.flash = FlashWindow(self, style = wx.SUNKEN_BORDER)
        self.Bind(wx.EVT_SIZE, self.on_size)
    
    
    def on_size(self, event = None):
        self.flash.SetSize(self.GetClientSize())
        event.Skip()


class FlashFrame(wx.Frame):
    def __init__(self, parent = None, title = "Flash Player", size = wx.Size(350, 320)):
        wx.Frame.__init__(self, parent, -1, title, size = size)
        panel = wx.Panel(self)
        vbox_main = wx.BoxSizer(wx.VERTICAL)
        panel.SetSizer(vbox_main)
        self.flashpanel = FlashPanel(panel)
        self.flashpanel.flash.LoadMovie(
            0, "http://www.messe-ideen.de/upload/magische-zauberkugel.swf"
        )
        vbox_main.Add(self.flashpanel, 1, wx.EXPAND)
        self.Show()
       
   
if __name__ == '__main__':
    app = wx.PySimpleApp()
    FF = FlashFrame()
    app.MainLoop()
Funktioiert dieser Code bei dir?

mfg
Gerold
:-)

Verfasst: Freitag 21. Dezember 2007, 12:33
von snakeseven
Hallo Gerold,

Thanx für deinen Input!
Leider crashed auch das bei mir. Weiß der Kuckuck, was da sich nicht verträgt!? Python2.5 und wxPython2.8, kann es daran liegen?

Grüße, Seven

Verfasst: Freitag 21. Dezember 2007, 13:04
von gerold
snakeseven hat geschrieben:Python2.5 und wxPython2.8, kann es daran liegen?
Hallo Seven!

Nein. Die Kombination Python 2.5 und wxPython 2.8 haben sehr viele Leute. So etwas würde sofort auffallen und in der wxPython-Mailingliste zur Sprache kommen.

mfg
Gerold
:-)