Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 14.05.2006, 13:26 Titel: Funktion ausführen, wenn Ptr gegeben |
|
|
Hallo,
wie kann man, wenn man nur den Pointer auf eine Funktion gegeben hat, diese ausführen und den Rückgabewert erhalten? |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 14.05.2006, 13:52 Titel: |
|
|
Sehr billige Lösung:
Code: | Declare function test as string
Dim a as any ptr
a=@test
threadcreate(a)
sleep
function test as string
? "Test"
test="Hallo Welt"
end function |
Leider kommt man so nicht an den Rückgabewert.
(Ich werde es weiter versuchen)
Edit://
Da haben's wir ja:
Code: | Declare function test (q as string) as string 'Nur zu anschaungszwecken
Dim test10 as function (q as string) as string 'Trick Teil 1
Dim a as any ptr 'Nur zu anschaungszwecken
a=@test 'Nur zu anschaungszwecken
test10=a 'Trick Teil 2
? test10("Das ist") 'Aufruf
sleep
function test (q as string) as string 'Nur zu anschaungszwecken
? "Test" 'Nur zu anschaungszwecken
test=q + "Hallo Welt" 'Nur zu anschaungszwecken
end function 'Nur zu anschaungszwecken |
Der Trick liegt hier
Dim test10 as function (q as string) as string 'Trick Teil 1
und hier
test10=a 'Trick Teil 2
entsprechend anpassen und es sollte gehen. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 14.05.2006, 22:34 Titel: |
|
|
Vielen Dank! |
|
Nach oben |
|
 |
|