Wenn es nur um einen einfachen String geht, dann kann man seit mindestens Delphi 2009
(weiß nicht genau wann .ToString eingeführt wurde)
auch kommlett ohne Typkonterterungen auskommen.
Delphi-Quellcode:
type
TStringObject = class
FStr: String;
constructor Create(const Str: string);
function ToString: string; override;
end;
function TStringObject.ToString: string;
begin
Result := FStr;
end;
// erstellen
ListBox.Items.AddObject(myOutputStr, TStringObject.Create(myDataString));
// auslesen
ListBox.Items.Objects[i].ToString
// freigeben
ListBox1.Items.Objects[i].Free;
ListBox1.Items.Delete(i);