Bonsoir, (et bonne année 2007 !)
Je cherche à appeler dynamiquement une fonction, c'est-à-dire à enregistrer son nom dans une variable pour ensuite appeler la fonction par le biais de cette variable.
Est-ce possible ?
Merci d'avance.
Bonsoir, (et bonne année 2007 !)
Je cherche à appeler dynamiquement une fonction, c'est-à-dire à enregistrer son nom dans une variable pour ensuite appeler la fonction par le biais de cette variable.
Est-ce possible ?
Merci d'avance.
Salut !
tu peu créer une fonction dans un module en utilisant :
puis l'appeler quand tu en a besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Function NomdelaFonction... ..... End Function
Personnelement je stock mes fonctions dans un module spécifique que je nomme Betement "Fonction"
L'utilisation de la variable me semble inutil car tu peu l'appeler directement par son nom.(Question de point de vue)
A+
![]()
Oui jusque là je suis OK. Mais ma demande est parfaitement justifiée ; En fait je cherche à savoir s'il est possible de reproduire les functors du C++.
J'ai plusieurs fonctions qui doivent être appelée en fonction de l'item que je traite. Ainsi, en un seul appel générique (sans avoir à faire un schéma if interminable et pas tellement évolutif) la fonction adéquate sera appelée.
Merci pour la réponse
J'ai peut-être une piste de solution...
Pour résumer le problème, je cherche donc, par le biais d'une variable, à créer un pointeur de fonction.
J'ai trouvé sur un forum Microsoft les frasques d'un internaute pas très habitué au VB (comme moi) et plutôt habitué au C++ (comme moi), qui cherche à utiliser un pointeur sur fonction à l'aide de ces chers opérateurs de pointage *.![]()
Bref, une réponse lui est faite au sujet de la fonction CallByName(). Je vais évidemment approfondir le sujet, mais en attendant si certains pouvaient me dire si je m'engage dans la bonne voie, ça serait pas si mal...
Merci !
Creuse!!!
La vérité est au bout du tunnel.
N'oubliez pas de cliquer surquand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Il fallait évidemment que ça pose problème... :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If CallByName(Me, currentPeriph(x).equ, VbMethod, currentPeriph(x).param) = 1 Then choix = 1 + choix ' Changement de niveau pour les pins concernées End If
currentPeriph(x).equ contient un string, qui est le nom d'une fonction publique dans ma form. Quel est le problème alors ? Cela ne gère que les procédures ? Ou le test dans le If n'est pas bon ? ...L'objet ne gère pas cette propriété ou cette méthode
Partager