TypeError: OnInit() takes exactly 2 arguments (1 given)
Verfasst: Mittwoch 8. März 2006, 08:38
Das Subject sagt es schon ganz genau.
Ich habe eine Applikation, die ein Fenster aufbaut. Dafuer wird aus Main heraus implizit die OnInit Funktion von wxApp aufgerufen.
Ich habe meine Applikation aber so designed, dass Sie mit einer locale Umgebung arbeiten soll. Diese Locale Umgebung (eine Klasse die je nach Spracheinstellung Texte zurueck gibt) wird an alle Klassen uebergeben.
Wenn ich das unten dargestellte Snippet ohne locale aufrufe (nachdem es so umprogrammiert wurde, dass alle Texte statisch sind) funktioniert es. Wenn ich dann aber die locale Umgebung mit uebergeben will, dann kommt die Fehlermeldung aus dem Subject.
Ist doch komisch oder? Ich uebergebe ja sogar noch mehr Parameter an OnInit als ohne das locale Objekt und er meckert trotzdem an, ich wuerde zu wenige Parameter uebergeben.
Wir hier jemand daraus schlau? Ich bin eigentlich fast sicher, dass ich mal wieder was falsch verstanden habe.
Gruss,
Christian
Ich habe eine Applikation, die ein Fenster aufbaut. Dafuer wird aus Main heraus implizit die OnInit Funktion von wxApp aufgerufen.
Ich habe meine Applikation aber so designed, dass Sie mit einer locale Umgebung arbeiten soll. Diese Locale Umgebung (eine Klasse die je nach Spracheinstellung Texte zurueck gibt) wird an alle Klassen uebergeben.
Wenn ich das unten dargestellte Snippet ohne locale aufrufe (nachdem es so umprogrammiert wurde, dass alle Texte statisch sind) funktioniert es. Wenn ich dann aber die locale Umgebung mit uebergeben will, dann kommt die Fehlermeldung aus dem Subject.
Ist doch komisch oder? Ich uebergebe ja sogar noch mehr Parameter an OnInit als ohne das locale Objekt und er meckert trotzdem an, ich wuerde zu wenige Parameter uebergeben.
Code: Alles auswählen
# CONSTANTS
_TITLE = "BootImageMaker: Create Image"
class MyApp(wxApp):
"""
Application class
"""
def OnInit(self,locale):
frame = MyFrame(locale, NULL, -1, _TITLE)
frame.Show(true)
self.SetTopWindow(frame)
return true
def main(locale):
MainWindow = MyApp(0, locale)
MainWindow.MainLoop()
Wir hier jemand daraus schlau? Ich bin eigentlich fast sicher, dass ich mal wieder was falsch verstanden habe.
Gruss,
Christian