Einzelnen Beitrag anzeigen

DelphiCreak

Registriert seit: 3. Sep 2008
51 Beiträge
 
Delphi 2007 Enterprise
 
#1

Seltsame string-artefakte...

  Alt 3. Okt 2012, 18:44
Nabend DP'ler,

ich bin vorhin auf ein seltsames Problem gestoßen, für dass ich weder eine Erklärung noch im entferntesten einen Lösungsansatz habe.

Kurze Beschreibung:
Ich arbeite an einer Unit, BildDateien nach OpenGL zu laden (ich weiß, gibts schon, benutze aber eine eigene FileSystem-Klasse auf die das ganze aufbaut, ist auch nicht der Punkt.)

Jedes Bild hat nun eine Prozedur Reload, die eben dafür sorgt, dass Bilder sich neu Laden bzw wenn sie durch eine Funktion erzeugt werden, sich neu erzeugen. Nun hab ich da stehen:
Delphi-Quellcode:
  //always regenerate functional images
  if @generatorFunc <> nil then
  begin
    Log.DPrintf('regenerating ' + imgName + '.' + #13#10);
    generatorFunc(self);
    Exit;
  end;
Wobei Log.DPrintf nichts anderes macht, als den gegebenen String in einen Log zu schreiben und auf einer sichtbaren Konsole darzustellen. Soweit so gut.
Doch anstatt dass ich im Log schön die einzelnen generierten Bilder untereinander stehen habe a la:

regenerating _default.
regenerating _white.
regenerating _black.

etc bekomm ich das folgende:


regenerating _default.

rege
rege
rege
regenerating _flat.

rege
rege
rege
rege
rege
rege
rege

Die Strings werden also abgeschnitten. Ich habs mir im Debugger mal angeschaut, da wurde anscheinend irgendwie der Konstante String 'regenerating ' überschrieben durch 'rege'#0#0#0(Unlesbares Zeichen)#0'ing _white'. Und es sind immer diese 5 Chars, die überschrieben werden, genau mit denselben Zeichen.

Nun zur eigentlichen Frage: Wie kann das Sein, wo kann das Herkommen?
Dominik C.
Orientierungslos sieht man mehr vom Leben.

Geändert von DelphiCreak ( 3. Okt 2012 um 18:51 Uhr)
  Mit Zitat antworten Zitat