Einzelnen Beitrag anzeigen

Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#7

Re: COM, "Oxxx.Create", feststellen ob Programm ge

  Alt 18. Okt 2006, 09:12
Da die TLB für iTunes eh keine visuelle Komponente anbietet, kannst Du ganz einfach die TLB-Unit in Deine Uses-Klausel aufnehmen und fertig. Du solltest Dir aber unbedingt das COM SDK bei Apple runterladen, die Beschreibung der Interfaces ist zwar etwas wirr im beiliegenden CHM-Helpfile, aber ohne die ist man bei iTunes schnell aufgeschmissen. Dann instantiierst Du ein ITunesApp-Objekt und benutzt das einfach. Wobei "einfach" relativ zu sehen ist, allein um einen Song abzuspielen sind schon ein paar kleine Klimmzuege notwendig, da iTunes grundsätzlich keine einzelnen Songs spielt sondern immer ganze Playlisten. D.h. erst eine eigene Playlist erzeugen, gewünschte Songs in die Playlist packen und dann die Playlist abspielen.

Eins noch: Verzichte wenn es irgendwie geht, vorübergehend auf die Version 7, die hat einige massive Bugs. Bei mir bleibt das Ding z.B. mit 1 Sekunde Restlaufzeit stehen und wartet dann bis zum jüngsten Tag auf das Ende des Songs. Springt weder zum nächsten Song, noch gehts in den Stop-Modus noch signalisiert es via COM-Event dass der Song fertig ist.

Edit: Wenn das Erzeugen der TLB das Problem ist, dann könnte ich a) die entsprechende Unit anhängen (@Mods: wäre das okay?), und b) könntest Du auch auf die TLB-Unit komplett verzichten. Du brauchst nur das Tool OleView.exe (zu finden irgendwo im sich ständig ändernden Downloadbereich bei Microsoft zum Beispiel) um zu schauen, welche Interfaces welche Methoden und Properties haben. Dann definierst Du einfach Variablen vom Typ OleVariant für jedes Interface und diese Variable hat dann die gleichen Methoden und Properties wie in der Doku und in OleView zu sehen. Nachteil: Keine automatische Codevervollständigung... Wenn man nicht genau weiss wie das Property nochmal heisst was man sucht, kann das schon etwas nerven
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat