Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Leerstring bei Interface (https://www.delphipraxis.net/215211-leerstring-bei-interface.html)

himitsu 29. Mai 2024 09:06

AW: Leerstring bei Interface
 
Variable oder Konstante ist per se egal
beides ist NIL, bei einem Leerstring.

Ich weiß nicht, ob WideString "echte" Konstanten kennt, also bei Denen, wo es auch ein paar Chars gibt. (in der Doku steht natürlich nichts und nachgesehn hab ich noch nicht, wie Delphi WideString-Konstanten ablegt)
Die DelphiStrings zeigen dann auf einen (eigentlich) schreibgeschützten Speicherbereich, wo der interne "Record" hartcodiert gespeichert liegt, mit einem RefCount von -1.

Maekkelrajter 29. Mai 2024 10:47

AW: Leerstring bei Interface
 
Zitat:

Zitat von uligerhardt (Beitrag 1537262)
Schuss ins Blaue: Vielleicht eine Variable statt einer Konstanten?

Liefert auch wieder 'Ungültiger Zeiger'
Zitat:

Zitat von himitsu (Beitrag 1537260)
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.
Zitat:

Zitat von himitsu (Beitrag 1537260)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz