Seite 1 von 1

Prozedur als Rückgabe einer ProcedureCDLL

Verfasst: 07.06.2015 16:22
von LukasBanana
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:

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;
}

Re: Prozedur als Rückgabe einer ProcedureCDLL

Verfasst: 07.06.2015 16:31
von ts-soft
ProcedureReturn @MyFunction()

Re: Prozedur als Rückgabe einer ProcedureCDLL

Verfasst: 07.06.2015 16:53
von RSBasic
@LukasBanana
Welcome back. :allright: