Einzelnen Beitrag anzeigen

Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#3

Re: ProgressBar + Thread = Fehler

  Alt 9. Aug 2009, 18:08
Hi,

das Setzen der Position hat nichts gebracht:

Zitat:
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0xb7a70ad0 (LWP 5864)]
0xb7d30ac3 in ?? () from /usr/lib/libgtk-1.2.so.0
(gdb) backtrace
#0 0xb7d30ac3 in ?? () from /usr/lib/libgtk-1.2.so.0
#1 0xb7d313fe in ?? () from /usr/lib/libgtk-1.2.so.0
#2 0xb7d2e1a6 in ?? () from /usr/lib/libgtk-1.2.so.0
#3 0xb7d0db06 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
#4 0xb7d420a2 in ?? () from /usr/lib/libgtk-1.2.so.0
#5 0xb7d4473f in ?? () from /usr/lib/libgtk-1.2.so.0
#6 0xb7d449e2 in gtk_signal_emit_by_name () from /usr/lib/libgtk-1.2.so.0
#7 0xb7d2f3f7 in gtk_progress_configure () from /usr/lib/libgtk-1.2.so.0
#8 0x08216933 in TGTKWSPROGRESSBAR__APPLYCHANGES (APROGRESSBAR=0xb7a36a10,
pvmt=0xb78c4b90) at gtkwscomctrls.pp:312
#9 0x080e9178 in TCUSTOMPROGRESSBAR__APPLYCHANGES (this=0xb7a36a10)
at progressbar.inc:263
#10 0x080e8f12 in TCUSTOMPROGRESSBAR__SETMAX (VALUE=0, this=0xb7a36a10)
at progressbar.inc:163
#11 0x0807dfed in TFOTOLOADER__STARTPROGRESS (this=0xb78ba9d0)
at uloadfotos.pas:65

#12 0x0809339c in CLASSES_CHECKSYNCHRONIZE$LONGINT$$BOOLEAN ()
#13 0x081d8c14 in THREADSYNC_IOCALLBACK (SOURCE=0x9831260, CONDITION=1,
DATA=0xb7f0f150) at gtkwidgetset.inc:625
#14 0xb7eea244 in ?? () from /usr/lib/libglib-1.2.so.0
#15 0xb7eebbfd in ?? () from /usr/lib/libglib-1.2.so.0
#16 0xb7eec45f in ?? () from /usr/lib/libglib-1.2.so.0
#17 0xb7d0cb36 in gtk_main_iteration_do () from /usr/lib/libgtk-1.2.so.0
---Type <return> to continue, or q <return> to quit---
#18 0x081d982f in TGTKWIDGETSET__APPPROCESSMESSAGES (this=0xb7f0f150)
at gtkwidgetset.inc:1187
#19 0x08079fb9 in TAPPLICATION__HANDLEMESSAGE (this=0xb78b2010)
at application.inc:984
#20 0x0807a2ef in TAPPLICATION__RUNLOOP (this=0xb78b2010)
at application.inc:1095
#21 0x08083dd3 in TWIDGETSET__APPRUN (ALOOP=0x807a2b0 <TAPPLICATION__RUNLOOP>,
this=0xb7f0f150) at interfacebase.inc:49
#22 0x0807a2aa in TAPPLICATION__RUN (this=0xb78b2010) at application.inc:1082
#23 0x080546a2 in main () at falterfotomanager.lpr:18
(gdb)
Zeile 65 ist jetzt da wo auf 0 gesetzt wird. Warum dafür setmax aufgerufen wirs kann ich mir nicht erklären, ich dachte ich hätte "Alles neu compilieren" gewählt und Lazarus hat am ende "Projekt erfolgreich gebaut " gemeldet. [edit] Vergiss es, es war die Zeile mit Max, ich hab mich verguckt. Aber Max war 4 und Position hatte ich gerade auf 0 gesetzt, hätte aber auch 0 sein müssen weil es noch nie geändert wurde. [/edit]

Ein drittes Phänomen ist, dass sich der Thead plötzlich unerwartet beendet und auch nicht vorher den except Block abarbeitet.

Gruß
Felix
Felix Alter
  Mit Zitat antworten Zitat