J'ai créé un tableau de pointeur de procédure.
J'affecte l'adresse de ma procédure à une case du tableau.
Je veux appeler ma procédure en passant par le tableau, et récupérer la valeur de retour.
Ceci fonctionne avec des procédures qui retourne des nombres mais pas des chaines.
L'aide de CallFunctionFast n'est pas tres explicite.
Un coup de pouce ?
C'est surtout pour savoir comment récupérer une chaine en valeur de retour avec CallFunctionFast !!
Code : Tout sélectionner
Procedure.s test(Val.l)
Res.s = "AAA" ;J'ai aussi essayé d'ajouter un Chr(0), mais c'est pas mieux
ProcedureReturn Res
EndProcedure
Dim PtrProc(2, 2)
PtrProc(0, 0) = @test()
Str.s = ""
Debug test(22)
;Str = CallFunctionFast(PtrProc(0, 0), 22) ;Ceci genere un erreur de compilation
;Str = Str(CallFunctionFast(PtrProc(0, 0), 22)) ;Ceci est compilable, mais ne genere pas le resultat attendu
;Str = PeekS(CallFunctionFast(PtrProc(0, 0), 22)) ;Ceci genere un plantage de PB
Debug Str