| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	
	
	
		| Autor | 
		Nachricht | 
	
	
		Dominik
 
 
  Anmeldungsdatum: 22.12.2004 Beiträge: 172
 
  | 
		
			
				 Verfasst am: 14.05.2006, 12: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, 12: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, 21:34    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				| Vielen Dank! | 
			 
		  | 
	
	
		| Nach oben | 
		 | 
	
	
		  | 
	
	
		 |