Einzelnen Beitrag anzeigen

msohn

Registriert seit: 2. Mai 2013
Ort: Leipzig
4 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: libvlc_media_player_set_position startet Datei neu

  Alt 17. Mär 2024, 14:14
Moin - da ich mich gerade selber mit API-Imports rumschlage, fiel mir das ins Auge:

Zitat:
Importiert habe ich sie wie folgt

libvlc_media_player_set_position : function(p_media_player : Plibvlc_media_player_t;f_pos : double;b_fast : integer) : integer; cdecl; und der Aufruf sieht so aus:
Laut https://videolan.videolan.me/vlc/gro...2b8ea61c3cb79d ist der letzte Parameter b_fast ein "bool" in C. Der hat eine Größe von 1 - und nicht 4 wie Dein Integer. Für solche API-Aufrufe gibt es extra System.ByteBool, wobei mit Einschränkungen (keine Vergleiche) auch Boolean funktioniert.

Das wird ziemlich sicher die Ursache sein, weil die Argumente bei cdecl in umgekehrter Reihenfolge auf dem Stack liegen und damit dein b_fast zu groß ist und beim Aufruf damit zT an der Stelle steht, wo f_pos erwartet wird.
  Mit Zitat antworten Zitat