Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

iTunes-Track herausfinden

  Alt 19. Aug 2005, 17:04
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
  Mit Zitat antworten Zitat