Code-Beispiel
Hauptprogrammfunktionen in Bibliothek aufrufen
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
k. A. | PMedia | 03.11.2007 |
Dieses Beispiel realisiert eine Callbackmöglichkeit.
Die DLL ruft hierbei eine Funktion aus dem Hauptprogramm auf.
main.bas:
type external
testnode as sub
end type
sub testnode()
print "CALLBACK RUNS!!!!"
end sub
dim extfuncs as external
dim mylib as any ptr
dim init as sub cdecl (as external ptr)
Print "Loading testlib.dll ";
mylib = dylibload("testlib.dll")
Print "[ok]"
Print "Loading Symbol 'init' from testlib.dll ";
init = dylibsymbol(mylib, "init")
print "[ok]"
print "calling symbol 'init' from testlib.dll ";
extfuncs.testnode = @testnode
init(@extfuncs)
print "[ok]"
print "freeing library ";
dylibfree(mylib)
print "[ok]"
Sleep
End
testlib.bas: (mit option -dylib kompilieren)
type external
testnode as sub
end type
sub init cdecl alias "init" (extfuncs as external ptr) export
extfuncs->testnode()
end sub
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|