OVH Cloud OVH Cloud

appeller un evenement

2 réponses
Avatar
Eric
bonjour
savez vous comment on fait pour appeller un evenement qui est dans une
classe different du main.
Dans mon programme j'ai une classe RS232 qui possede un evenement declarer :
public event datareceived(ByVal source as Rs232,ByVal DataBuffer() as byte)

Que dois je faire pour appeller cette evenement dans le main
Merci

2 réponses

Avatar
Fred
Dans le message:,
Eric écrit :
bonjour



Bonjour,

savez vous comment on fait pour appeller un evenement qui est dans une
classe different du main.
Dans mon programme j'ai une classe RS232 qui possede un evenement
declarer : public event datareceived(ByVal source as Rs232,ByVal
DataBuffer() as byte)

Que dois je faire pour appeller cette evenement dans le main



Pour appeler ?
Je suppose que tu veux lui associer un gestionnaire d'événement
Sub MonEvenement(...) Handles ...
Est-ce que l'objet est déclaré WithEvents ?
Si oui, on retrouve l'objet et l'événement dans les listes déroulantes au
dessus du code.


--
Fred
Avatar
David Scime
Fred a écrit :
Dans le message:,
Eric écrit :

bonjour




Bonjour,


savez vous comment on fait pour appeller un evenement qui est dans une
classe different du main.
Dans mon programme j'ai une classe RS232 qui possede un evenement
declarer : public event datareceived(ByVal source as Rs232,ByVal
DataBuffer() as byte)

Que dois je faire pour appeller cette evenement dans le main




Pour appeler ?
Je suppose que tu veux lui associer un gestionnaire d'événement
Sub MonEvenement(...) Handles ...
Est-ce que l'objet est déclaré WithEvents ?
Si oui, on retrouve l'objet et l'événement dans les listes déroulantes au
dessus du code.





Si tu as une classe A dans la-quelle tu déclares un évenement public de
la facon suivante:
public event ouverture(modification as boolean)

ici on déclare donc un évènement "ouverture" qui a un argument
"modification" de type boolean.
quand tu souhaites déclancher l'évènement tu dois utiliser le mot clé
"RaiseEvent" suivi du nom de l'évènement.

Pour gérer l'évènement dans ta classe B, tu dois (à partir du moment où
tu souhaites gérer cet évènement) utiliser le mot clé "AddHandler" suivi
de l'objet A et de son évènement, puis par l'addresse de la fonction qui
gère cet évènement.
Ex:

public Class A

'Déclaration de l'évènement
public event ouverture( isModification as boolean )

public Sub New ()
me.Ouverture()
End Sub


Private Sub Ouverture()
'Déclanchement de l'évènement
RaiseEvent me.Ouverture( False )
End Sub

End Class


public Class B

..
..

private Sub TestEvent()
dim o as new A()
AddHandler o.Ouverture, AddressOf me.UseAEvent
end Sub

private Sub UseAEvent( isModif as Boolean )
..
..
end Sub

En espérant avoir été clair..

David Scime