Prozedur als Rückgabe einer ProcedureCDLL
Verfasst: 07.06.2015 16:22
Hi, ist schon lange her, dass ich hier im Forum war 
Aber jetzt habe ich doch mal wieder eine Frage bzgl. PureBasic:
Ich will eine DLL schreiben, und in einer ProcedureCDLL die Adresse einer anderen Prozedur zurückgeben.
Geht das überhaupt in PB? Wenn ja, wie?
Die Schnittstelle für DLLs ist ja sehr an C angelehnt, daher auch "ProcedureCDLL".
In C++ sähe mein Vorhaben z.B. so aus:

Aber jetzt habe ich doch mal wieder eine Frage bzgl. PureBasic:
Ich will eine DLL schreiben, und in einer ProcedureCDLL die Adresse einer anderen Prozedur zurückgeben.
Geht das überhaupt in PB? Wenn ja, wie?
Die Schnittstelle für DLLs ist ja sehr an C angelehnt, daher auch "ProcedureCDLL".
In C++ sähe mein Vorhaben z.B. so aus:
Code: Alles auswählen
// Irgend eine Struktur
struct MyStruct { /* ... */ };
// Die Funktions-Schnittstelle "PROC_INTERFACE"
typedef void (*PROC_INTERFACE)(MyStruct argument);
// Die Funktion, deren Adresse zurückgegeben werden soll
void some_internal_procedure(MyStruct argument) {
/* do something useful ... */
}
// Die Funktion in der DLL, die mir die Adresse einer (oder mehrerer) interner Prozeduren liefern soll
extern "C" __declspec(dllexport) PROC_INTERFACE get_a_procedure() {
return some_internal_procedure;
}