IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB.NET 2005]Problème de déclenchement d'évènements


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut [VB.NET 2005]Problème de déclenchement d'évènements
    Salut,

    J'ai créer une classe comportant des évenements. Pour ceux qui connaissent, pour le déclencher, on fait dans cette classe une Sub qui contient "RaiseEvent MyEvent". Voila mon probleme :
    Si l'appel de cette sub et une delegate de l'evenement en question ne sont pas dans la meme classe, l'événement ne se déclenche pas!
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    MyClass.MyEventSub
    ...
     
    Public sub MyClass_MyEventSub Handles Class1.MyEvent
    ...
    End Sub
    =>L'évènement se declenche

    Maintenant si MyClass.MyEventSub se trouve dans une autre class (les déclarations etant bien sûr faites), l'événements sur la class contenant la delegate ne se declenche pas...

    D'ou vient le probleme? Ce n'est quand meme pas une limitation? Je trouverais ça totalement stupide...

    Merci d'avance

    LTourist

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 33
    Par défaut
    Bonjour... même problème, même question... un post histoire que cette discussion ne tombe pas trop dans l'oubli!

    Je recherche de mon côté, on se tient au courant

    Sinon un workaround un peu crado en attendant:
    Simplement ajouter un attribut à ta classe (on va dire classe 1) devant lancer l'évènement, qui contient la classe (classe 2) sur laquelle tu a déclaré ta Sub... A partir de là, tu fait un appel à la sub de manière classique...

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut Reponse?
    J'ai peut être trouvé une solution.... En fait pour déclencher l'événement je devais faire dans une class myclass.MyEventSub, et je voulais que ça déclenche l'événement dans une autre classe...Le probleme venait en fait qu'il ne s'agit pas de la même instance de cette class, et donc que l'événement ne peut se déclencher!!! Il y a donc deux solutions a ce probleme :
    - Déclarer l'événement en shared dans la classe, pour qu'il soit commun a toutes les instances,
    - Faire par exemple form1.myclass.MyEventSub en ayant sur la form1 Public/Friend WithEvents myclass as New Class1

    Je ne suis pas sur pour la deuxieme solution car dans mon cas, la 1ere convient mieux a ce dont j'ai besoin, donc c'est à tester...
    Si tu n'a pas compris quelque chose ou si tu veux des precisions nem&sys, demande moi, y'a aucun souci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 33
    Par défaut
    Et oui, VB et l'objet çà fait drôle quand on a pris l'habitude de VB<6... et de Java, et de C++, et bien d'autres qui eux travaillent par défaut par valeur et non pas par référence...

    Ohhh les jolis bugs de copie de tableaux... lol çà m'a bien fait galéré
    Retenir Array.copy...

    ...Pour moi le problème est légèrement différent. En fait, une form enregistre des instances de la classe déclencheuse dans un tableau... jusqu'ici tout va bien, en effet, l'assignation dans un tableau en vb.net est faite par référence. Ensuite, j'enregistre toujours dans cette form l'évènement de chacune de mes instances par un addhandler, pointant vers MySub. L'évènement est bien déclenché (breakpoint sur la classe déclencheuse), mais "MySub" ne s'éxécute pas...

    Tu peux marquer cette discussion comme résolue , j'en écrirais une nouvelle ou je serais plus précis...

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut
    Ok ça marche, j'avouerais que j'ai pas tres bien compris de quoi il retourne concernant ton probleme ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET 2005] problème avec RemoveAt
    Par Antoine1183 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/07/2007, 22h56
  2. [VB.NET 2005] Problème sur une galerie photo ..
    Par jobunn dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/05/2007, 15h09
  3. [vb.net 2005] Problème de lecture d'un fichier (en ressources)
    Par micfont999 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/01/2007, 21h29
  4. [VB.Net 2005] - Problème Paint UserControl
    Par Flibustier dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/10/2006, 11h47
  5. Problème de déclenchement d'évènements dans un timer
    Par ArkSquall dans le forum Composants VCL
    Réponses: 18
    Dernier message: 30/04/2006, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo