Ich versuche, ein Social Asynchronous Ereignis aus einer DLL unter Windows zu feuern. Es gibt ein Tutorial für diese here an der Unterseite.GameMaker Studio, Async-Ereignis von Windows DLL
Was ich nicht verstehe, ist die folgende
Wenn Ihre Erweiterung dieser Rückruf sollte sofort geladen wird Feuer und in Zeiger auf die vier Funktionen übergeben werden.
Ich denke, ich sollte die Funktion (RegisterCallbacks) von GML aufrufen, da der Rückruf als dllexport definiert ist.
Hier ist die Callback-Funktion
__declspec (dllexport) void RegisterCallbacks(char *arg1, char *arg2, char *arg3, char *arg4)
{
void (*CreateAsynEventWithDSMapPtr)(int,int) = (void (*)(int,int))(arg1);
int(*CreateDsMapPtr)(int _num,...) = (int(*)(int _num,...)) (arg2);
CreateAsynEventWithDSMap = CreateAsynEventWithDSMapPtr;
CreateDsMap = CreateDsMapPtr;
bool (*DsMapAddDoublePtr)(int _index,char *_pKey,double value)= (bool(*)(int,char*,double))(arg3);
bool (*DsMapAddStringPtr)(int _index, char *_pKey, char *pVal)= (bool(*)(int,char*,char*))(arg4);
DsMapAddDouble = DsMapAddDoublePtr;
DsMapAddString = DsMapAddStringPtr;
}
Aber wie soll ich einen Zeiger auf „CreateAsynEventWithDSMap“ von GML passieren? Wo bekomme ich diese Funktionen?