Un WithEvents sur une function (as string) [Résolu]

Signaler
Messages postés
39
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
9 mai 2015
-
Messages postés
14760
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2021
-
Bonjour,

Je souhaiterai créer un événement si la variable de la fonction change.

Faux Exemple :
    Private Sub FunctionVarChanged(ByVal NewVariable) Handles x.strChanged
        '...
    End Sub

    Private Function FunctionTest() As String
        '....
        Return Variable
    End Function


x.strChanged correspond à la FunctionTest quant elle est modifié.

Donc dès que Return Variable est exécute, FunctionVarChanged(ByVal NewVariable) me
donne la variable changé.

Merci d'avance et j'espère que vous avez une idée.

5 réponses

Messages postés
14760
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2021
151
Bonjour,

Pour commencer, actives Option Strict et Option Explicit.
Ensuite, retires l'import automatique de Microsoft.VisualBasic.

Pour cela, tu peux utiliser une propriété, et tu pourras contrôler le changement de valeur d'une variable.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
14760
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2021
151
Bonjour,

Renseignes-toi sur le mot clé Property et aussi RaiseEvent.

Ensuite, pour contrôler les modifications, tu assignes la propriété.
Sinon, il faudra un exemple plus proche de la réalité du besoin.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
14760
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2021
151
Bonjour,

Ton but est (pour résumer), d’appeler une fonction périodiquement et si sa valeur de retour change, que ça génère un évènement.

Il y a plusieurs solutions, voici une suggestion :
public function Test() As String
Static lsAncValue As String=""
Dim lReturn as String 'Valeur à retourner

'Traitements, assignants lReturn

If lReturn <> lsAncValue Then
RaiseEvent ...
end if
lsAncValue=lReturn
Return lReturn
End Function


---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
39
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
9 mai 2015
3
Je peut avoir en exemple s'il vous plait je suis un peu perdu.
Merci
Messages postés
39
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
9 mai 2015
3
Je n'est pas encore tous saisie, avant d'avoir posté j'ai cherché avec différent mot clé. Mais je n'est rien trouvé qui m’éclaircis, car mon problème est spécifique.

Je cherche comment détecté si une fonction change de variable.
Je souhaite juste une exemple pour m’éclaircir.

Merci d'avance