1. Zur Sicherheit sollte man in Delphi "Packed record" statt einem einfachen record nehmen, sonst kann es zu Inkompatibilität kommen.
2. Funktionszeiger werden in C++ anders definiert:
TBASSVIS_STATECALLBACK = procedure(NewState:TPlayState); stdcall;
wird zu
Code:
typedef void (_stdcall *BASSVIS_STATECALLBACK) (PlayState);
Ich habe noch nicht alles durchgeschaut, es kann also noch weitere Fehler geben.
Gruß
Apollonius