Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
3. Okt 2012
Das ist DAS Problem mit fehlgeleiteten Speicheroperationen ... es kommt drauf an, wo etwas überschrieben wird.
(es gibt Stellen, da fällt es nicht auf, weil dieser Bereich garnicht/selten genutzt wird, bzw. weil es nur reservierter, aber derzeit ungenutzter Speicher ist)
Und natürlich ist es systemabhängig, denn jedes System ist unterschiedlich ... hier der eine Treiber, dort ein Andere,bzw....
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
3. Okt 2012
Sagen wir es mal so: In einigen Delphis wurde vergessen der Speicher, wo diese Konstanten liegen, schreibgeschützt zu laden.
Es gibt mehrere Tools (teilweise auch FastMM), welche beim Suchen helfen.
Was du aber selber ganz einfach machen kannst.
if Assigned(generatorFunc) then
begin
S := 'regenerating ';
Log.DPrintf(S + imgName + '.' + sLineBreak);
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
3. Okt 2012
Spontan würde ich sagen, daß du irgendwo (nicht in dem gezeigten Codestück) einen Buffer-Overrun hast, welcher dir diesen Speicher überschreibt/verschießt.
PS: (hat aber nichts mit deinem Problem zu tun)
if Assigned(generatorFunc) then
begin
Log.DPrintf('regenerating ' + imgName + '.' + sLineBreak);