OK, danke für den Verweis auf die Hierarchie. Das hatte ich komplett übersehen. Dass die Objekte abgeleitet wurden hatte ich schon vermutet.
Komme aber jetzt trotzdem nicht klar mit der Icon Geschichte. Also, mich auf diesen Code von dir referierend:
[code] CurrentPlaylist.BeginUpdate;
try
activePlayer := -1;
for i := 0 to CurrentPlaylist.GetPlayerCount - 1 do
if CurrentPlaylist.GetPlayer(i).GetState = psPlaying then begin
activePlayer := i;
break;
end;
…
// Index of item that is currently playing
activeItem := CurrentPlaylist.GetPlayer(activePlayer).GetItem;
// Insert new item below
CurrentPlaylist.Insert(CurrentPlaylist.IndexOf(activeItem) + 1, newItem);
…
finally
CurrentPlaylist.EndUpdate;
end;[/code]
also ich möchte den Player ermitteln wo momentan inaktiv ist (bei 2 Playern). Dort wird ja das gerade eben geladene Element landen was ich mit dem Icon versehen will.
[code] nextPlayer := -1;
for i := 0 to CurrentPlaylist.GetPlayerCount - 1 do
if CurrentPlaylist.GetPlayer(i).GetState = psLoaded then begin
nextPlayer := i;
break;
end;
nextItem := CurrentPlaylist.GetPlayer(nextPlayer).GetItem;
[/code]
Irgendwie scheint psLoaded nix “vernünftiges” zurück zu liefern (oder ich mache was grundlegendes falsch) ;D
Wenn ich dann…
nextItem.SetIconFilename('c:\wherever\icon.png');
nextItem.GetIconData.Clear;
klappt’s nicht. Mit activeItem dagegen schon.
Gruss:
-Serge-