@sx2008: habe ich schon gemacht, habe schon fast alles (in diesem Teil des Projekts) auskommentiert, kein Unterschied...Das schwierige ist halt dass das Projekt aus 40+ Units besteht, welche alle im Moment verwendet werden, und es könnte jetzt natürlich sein dass der Fehler schon vorher vorhanden war, nur jetzt diese String-Konstante erst in dem Speicherbereich gelandet ist, der beim Buffer-Overflow korrupiert wird...
Ist da die Bereichs/Überlauf prüfung wirklich komplett sinnlos? Weil ich wirklich keine Ahnung habe wie ich bei dem Umfang des Projekts herausfinden kann, was jetzt eben diese eine Konstante verändert...
@himitsu: Die Idee hatte ich auch gerade, werd ich mich mal dranmachen.
Edit: Interessanterweise scheint das Ganze Computer-Abhängig zu sein...Ich hatte auf meinem Haupt-PC schon alles gemacht, von neu erzeugen,
DCU's/.exe löschen,
IDE neustarten, kein Unterschied.
Nun einmal auf meinem Laptop kompiliert, der Fehler tritt nicht mehr auf...
Edit2: habs jetzt mal so deklaritert:
Delphi-Quellcode:
var TS: String = 'regenerating ';
procedure noImage.Reload(checkPrecompressed: Boolean; force: Boolean);
var current: TTime;
begin
//always regenerate functional images
if Assigned(generatorFunc) then
begin
Log.DPrintf(TS + imgName + '.' + sLineBreak);
generatorFunc(self);
Exit;
end;
und anscheinend wird der String beim Übergeben an die Log-prozedur zerschossen, der Inhalt von TS bleibt komplett unverändert...
Dominik C.
Orientierungslos sieht man mehr vom Leben.