ich muss eine DLL schreiben, die Daten aus Messgeräten empfängt.
Die DLL soll mehrfach in einem Projekt nutzbar sein. Genau hierfür ist ja unter anderem PUser da, weil jeder DLL-Baustein dann seinen eigenes PUser-Array hat hat.
Jetzt muss ich aber den Datenempfang in callback functions machen. Wie übergebe ich den pointer auf PUser und wie kann ich in der callback function auf PUser zugreifen?
Obiges ist der installer für die callback function, der letzte Parameter könnte den pointer übergeben.aus LabWindows CVI Hilfe
int InstallComCallback (int portNumber, int eventMask, int notifyCount, int eventCharacter, ComCallbackPtr callbackFunction, void *callbackData);
Ich habe alle Varianten die mir einfallen ausprobiert um einen Pointer auf PUser über callbackData zu übergeben und in der Funktion zu benutzen. Keine führte zum Erfolg.aus LabWindows CVI Hilfe
callbackData void *
A pointer-width value the library passes to the callback function.
You can use callbackData as an integer value or as a pointer to a data object you want to access in the callback function. In this way, you do not have to declare the data object as a global variable.
Gibt es hier einen fähigen C-Fachmann der mir das erklären kann? Leider konnte ich kein Beispiel finden, in dem das wirklich benutzt wurde.
Im Moment behelfe ich mir mit globalen Arrays und jeder Aufruf hat seinen eigenen Index.
Grüße
Mike