Bekomme dann 2 Fehler
Code:
Fehler (aktiv) E0167 Das Argument vom Typ ""void (__stdcall *)(TPlayerEvent event)"" ist mit dem Parameter vom Typ ""TPlayerEvent"" inkompatibel.
Fehler C2664 "BOOL KVideo_Initialize(HWND,TPlayerEvent)" : Konvertierung von Argument 2 von "void (__cdecl *)(TPlayerEvent)" in "TPlayerEvent" nicht möglich
cpp..
Code:
void _stdcall OnPlayerEvent(TPlayerEvent event)
{
if (event == TPlayerEvent::PlayEnded)
{
KillTimer(MovieHandle, MOVIE_TIMER);
}
}
if (KVideo_Initialize(MovieHandle, OnPlayerEvent))
h..
Code:
enum class TPlayerEvent : std::uint8_t {
PlayEnded,
ErrorEnded
};
typedef void ( * CBEventNotice )(TPlayerEvent);
BOOL KVIDEOPLAYERDEF(KVideo_Initialize)(HWND MediaWindow, TPlayerEvent callback);
EDIT:
Ok habe das geändert.
Jetzt lässt es sich wieder kompilieren.
Code:
BOOL KVIDEOPLAYERDEF(KVideo_Initialize)(HWND MediaWindow, CBEventNotice event);
Aber es wird immer noch kein Event ausgelöst. Hmmm...
Das kann ich nicht ändern.
Code:
typedef void _stdcall( * CBEventNotice )(TPlayerEvent);
produziert den Fehler.
Zitat:
Fehler (aktiv) E0651 Auf eine Aufrufkonvention darf kein geschachtelter Deklarator folgen.
Fehler C2059 Syntaxfehler: "("
Fehler C2061 Syntaxfehler: Bezeichner "CBEventNotice"
Fehler C2660 "KVideo_Initialize": Funktion akzeptiert keine 2 Argumente
gruss