Warnungen kommen von meiner Seite beim Kompilieren keine im Projekt, da achte ich drauf. Bei 3rd-Party mit Source kommen ein paar Warnungen, aber keine kritischen: Variable deklariert und nicht genutzt, zugewiesener Wert wird nicht genutzt usw.
Der Tipp mit "ausserhalb vom Debugger sichtbar machen" war noch mal gut: habe es >nicht< geschafft, die falschen Werte in einer MessageBox zu zeigen... stimmte immer. Also noch mal im Debugger länger und genauer geschaut heute Mittag.
Ich vermute mal, dass der Debugger die Werte "nur" falsch anzeigt, irgendwie seine Zeiger in den Speicher verliert, aber: kurz vor Rücksprung stimmt scheinbar alles wieder. Angehängt ein paar Screenshots zum Nachverfolgen:
- Debug_FINALLY_01: Breakpoint bei Einstieg in den FINALLY-Block, die Variablen haben die richtigen Werte
- Debug_FINALLY_02: Sobald der erste Befehl ausgeführt wurde, stimmen die Variablen nicht mehr bzw. sind "inaccessible"
- Debug_FINALLY_03: Für closeLog wird FALSE angezeigt, somit sollte der ELSE-Zweig aufgerufen werden
- Debug_FINALLY_04: ... das passiert aber nicht, somit scheint closeLog den erwarteten Wert TRUE zu haben
- Debug_FINALLY_05: Und am Ende der Methode werden alle Werte plötzlich wieder korrekt dargestellt, auch FScanActiveCounter wurde korrekt von 2 auf 1 runtergezählt
Ich denke also mal, der Debugger spinnt an dieser Stelle einfach, hat da schon mal jemand was ähnliches erlebt?
Matthias