Ich würde die Object Eigenschaft von den TStringlist.Items verwenden.
das geht ganz einfach:
Delphi-Quellcode:
TPlaylistItem = class
FileName:String;
end;
var
Playlist:TStringlist;
Procedure addFileName(Const aFileName:String);
var
PlaylistItem:TPlaylistItem;
begin
PlaylistItem:=TPlaylistItem.Create;
PlaylistItem.Filename:=aFileName
Playlist.addobject(ExtractFileName(aFileName),playlistitem);
end;
function GetPlaylistITem(const aItemIndex:Integer):String;
begin
if playlist.objects[aItemindex] is TPlaylistItem then
result:=TPlaylistItem(playlist.objects[aItemindex]).FileName
else
result:='';
end;
Müsste so gehen. Der Vorteil du hast nur noch eine liste und musst nicht immer zwei listen durchsuchen.
Die Klasse TPlaylistItem kannst du natürlich nach beliebigen erweitern !