Also gemäß des Callstacks geht es um den Inhalt von sBuffer. Innerhalb der FBuffin Methode läuft da alles gut, also bleibt nur die Frage, was wird in
AppendToLinkedList(nReading, sBuffer);
damit gemacht.
Meine Vermutung: dort wird irgendwie der RefCount des strings aus dem Gleichgewicht gebracht.
Bitte das hier..
Delphi-Quellcode:
procedure TSkinConfig.AppendToLinkedList(nReading: Integer; sBuffer: string);
begin
New(FPBuffer);
if nReading = 0 then
Begin
New(FToPBuffer);
LineStart := FToPBuffer;
LineStart^.Nr := 0;
end;
FPBuffer^.Nr := nReading;
FPBuffer^.Str := sBuffer;
LineStart^.Max := nReading;
FToPBuffer^.Ptr := FPBuffer;
FToPBuffer := FPBuffer;
end;
Es werden nur die Zuweisungen aktualisiert.
EDIT:
Delphi-Quellcode:
PParseFile = ^TParseFile;
TParseFile = record
Nr :Integer;
Str : string;
Ptr : PParseFile;
Max : Integer;
end;
Delphi-Quellcode:
LineStart : PParseFile;
FPBuffer : PParseFile;
FToPBuffer : PParseFile;
gruss