Hallo,
ein einfacher TypeCast auf Pointer dürfte nicht ausreichen, damit unterläuft man die Referenzzählung. Zum Speichern und späteren Auslesen der Strings über Pointer kann man wie folgt vorgehen:
Delphi-Quellcode:
var
List : TList;
i : Integer;
ps : PString;
begin
List := TList.Create;
for i := 0 to 9 do
begin
New (ps);
ps^ := IntToStr(i);
List.Add(ps);
end;
{...}
for i := 0 to 9 do
begin
ps := PString(List[i]);
ShowMessage (ps^);
end;
for i := 0 to 9 do
Dispose (PString(List[i]));
List.Free;
end;
Das TList-Objekt ist natürlich nur ein Platzhalter für die tatsächliche Datenstruktur.
Gruß Hawkeye