ja, es steht immer das gleiche in der Fehlermeldung.
Hier mal ein Stück Code:
Code: Alles auswählen
def showResult(self, widget):
start1 = self.entrydic[widget][2].get().strip()
end1 = self.entrydic[widget][3].get().strip()
start2 = self.entrydic[widget][8].get().strip()
end2 = self.entrydic[widget][9].get().strip()
length1 = ''
lenght2 = ''
print 'start1: %s | end1: %s | start2: %s | end2: %s'%(start1, end1, start2, end2)
if start1 in self.activities:
self.showActivity(start1, widget)
else:
if (start1 != '') and (end1 != ''):
length1 = defs.returnLength(start1, end1)
print 'length1: %s'%length1
if self.doupleStarts:
if (start2 != '') and (end2 != ''):
length2 = defs.returnLength(start2, end2)
print 'length2: %s'%length2
if (lenght1 != '') and (length2 != ''):
sum_lenght = defs.TimeCalculator(lenght1, lenght2)
print sum_lenght
Wie gesagt - das ist mitten aus einem Programm. Wenn ich das ganze unter Linus ausführe, kommt wieder die Meldung:
Code: Alles auswählen
start1: 12:00 | end1: | start2: | end2:
Traceback (most recent call last):
File "./atzek.py", line 1206, in <module>
Atzek()
File "./atzek.py", line 92, in __init__
self.root.mainloop()
File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1023, in mainloop
self.tk.mainloop(n)
File "/usr/lib/python2.5/Pmw/Pmw_1_2/lib/PmwBase.py", line 1751, in __call__
_reporterror(self.func, args)
File "/usr/lib/python2.5/Pmw/Pmw_1_2/lib/PmwBase.py", line 1777, in _reporterror
msg = exc_type + ' Exception in Tk callback\n'
TypeError: unsupported operand type(s) for +: 'type' and 'str'
Unter Windows kommt allerdings folgende Meldung:
Code: Alles auswählen
Error: 1
NameError Exception in Tk callback
Function: <bound method Atzek.focusOut of <__main__.Atzek instance at
0x009F4030>> (type: <type 'instancemethod'>)
Args: (<Tkinter.Event instance at 0x00A31E68>,)
Event type: FocusOut (type num: 10)
Traceback (innermost last):
File "C:\Python24\lib\Pmw\Pmw_1_2\lib\PmwBase.py", line 1747, in __call__
return apply(self.func, args)
File "D:\Dokumente und Einstellungen\Stephan\Eigene
Dateien\Arbeit\Programme\Projekte\Arbeitszeit\atzek.pyw", line 809, in
focusOut
self.showResult(event.widget)
File "D:\Dokumente und Einstellungen\Stephan\Eigene
Dateien\Arbeit\Programme\Projekte\Arbeitszeit\atzek.pyw", line 842, in
showResult
if (lenght1 != '') and (length2 != ''):
NameError: global name 'lenght1' is not defined
================================================
Event contents:
char: ??
delta: 0
height: ??
keycode: ??
keysym: ??
keysym_num: ??
num: ??
send_event: False
serial: 2191
state: ??
time: ??
type: 10
widget:
.10438776.10438896.10438976.10661280.10688592.10688792.10688752.10689472.10809176
width: ??
x: ??
x_root: ??
y: ??
y_root: ??
Mit dieser Meldung kann ich was anfangen. Das ich nur einen Schreibfehler gemacht habe ist mir schon klar.
Ist Windows doch das bessere Betriebssystem?
