Hi,
ganz so einfach, wie der Titel es scheinen lässt, ist es auch wieder nicht.
Ich versuche gerade ein wenig mit der iTunes-
COM-
API herumzuspielen. Soweit funktioniert das auch ganz akzeptabel, aber es hakt bei einer Sache:
In einem Event erhalte ich als Parameter eine ID eines Tracks in Form eines OleVariants. Darüber ist es irgendwie Möglichkeit eine Variable vom Typ
IITTrack zu erhalten. Da ich das nicht so ganz kapiert habe, habe ich mal gesucht und im CodeProject auch was
gefunden.
Dort steht für C#:
Code:
protected void myiTunes_OnPlayerPlayEvent(object iTrack)
{
string myArtist, myName;
IITTrack myTrack = (IITTrack) iTrack;
myArtist = myTrack.Artist;
myName = myTrack.Name;
}
Ich hab's ausprobiert: das funktioniert wirklich.
Also dachte ich mir, dass es unter Delphi ja fast genauso gehen könnte:
Delphi-Quellcode:
procedure TEventHandler.OnPlayerPlayEvent(Sender: TObject; iTrack: OleVariant);
var
Track: IITTrack;
begin
{Einen Track aus iTunes Anhand der ID finden}
Track := IITTrack(iTrack); {Zeile 54}
// ...
end;
Doch leider funktioniert das nicht mit dem Fehler
Fehlermeldung:
[Fehler] uITunes.pas(54): E2089 Ungültige Typumwandlung
Hat jemand eine zündende dafür?
Chris