Hallo,
der Fehler dürfte hier stecken:
Delphi-Quellcode:
procedure TObjList.Add(AItem: TObject);
begin
if FLength = FCapacity then
Grow;
FItems^[FLength] := PObject(@AItem);
Inc(FLength);
end;
Du speicherst die Adresse einer
lokalen Variablen (nämlich des Parameters) in der Liste. Diese Adresse ist nach dem Verlassen der Routine ungültig.
Gruß Hawkeye