Schuss ins Blaue: Vielleicht eine Variable statt einer Konstanten?
Liefert auch wieder 'Ungültiger Zeiger'
Kann es sein, dass hier IMMER eine ID reingegeben werden MUß, womit ein Leerstring quasi verboten ist?
Wie ich bereits schrieb, läßt sich in einem VBScript ein Leerstring zuweisen.
Ist deine Interface-Instanz überhaupt OK?
(IITFileOrCDTrack)
Sicher, dass es wirklich safecall ist?
Die Type Library, die aus der Datei itunes.exe importiert wird und als 'iTunesLib_TLB.pas' in das Projekt eingebunden ist, ist für mich eine Blackbox.
Delphi-Quellcode:
unit iTunesLib_TLB;
// $Rev: 98336 $
// Datei am 21.07.2021 16:24:31 erzeugt aus der unten beschriebenen Typbibliothek.
// ************************************************************************ //
// Typbib.: C:\Program Files\iTunes\iTunes.exe (1)
// LIBID: {9E93C96F-CF0D-43F6-8BA8-B807A3370712}
// LCID: 0
// Hilfedatei:
// Hilfe-String: iTunes 1.13 Type Library
// Liste der Abhäng.:
// (1) v2.0 stdole, (C:\Windows\SysWOW64\stdole2.tlb)
// SYS_KIND: SYS_WIN32
// ************************************************************************ //
In meinem Programm wird nur 'itunesApp' instantiiert.
itunes Doku:
"iTunesApp Class Represents the iTunes application.
This is the only externally creatable iTunes
COM object. All other iTunes interfaces are accessed through this class."
Ich fürchte, da wird es keine Lösung geben. Dazu kommt, dass Itunes nicht mehr weiterentwickelt wird. Die letzte aktualisierte Version ist 12.13.2.3. Und die Nachfolge App von Apple (Apple Music) enthält kein
COM Interface mehr
Gruß LP