Ich glaube nicht das der Fehler durch den gezeigten Code hervorgerufen wird, sondern an einer anderen Stelle. Ich würde denken, dass an irgend einer Stelle Speicher überschrieben wird. Verdächtige Kandidaten sind move-Befehle insbesondere im Zusammenhang mit Strings (die nun
Unicode sind). Zusätzlich wäre es ganz gut die Rückgabewerte der Funktionsaufrufe auszuwerten (und bei einem Fehler eine
Exception auszulösen o.ä).