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

VB.NET Discussion :

RaiseEvent Evénement Problème [Débutant]


Sujet :

VB.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut RaiseEvent Evénement Problème
    Bonjour,
    J'ai 3 fonctions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
        Private Shared Sub PickTargets()
            'Begin UndoStep
            Project.UndoContext.BeginUndoStep("MultipleTarget")
            Try
                'Initialize GraphicPicker
               GraphicPicker.GraphicPick += New GraphicPickEventHandler(GraphicPicker_GraphicPick) ' ????
     Catch ex As Exception
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback)
                Logger.AddMessage(New LogMessage(ex.Message.ToString()))
            Finally
                'End UndoStep
     
                Project.UndoContext.EndUndoStep()
            End Try
     
        End Sub
     
        Private Shared Sub GraphicPicker_GraphicPick(sender As Object, e As GraphicPickEventArgs)
            'Begin UndoStep
            Dim station As Station = TryCast(Project.ActiveProject, Station)
            Dim stepName As String = station.ActiveTask.GetValidRapidName("Target", "_", 10)
            Project.UndoContext.BeginUndoStep(stepName)
     
            Try
                ShowTarget(e.PickedPosition)
            Catch exception As Exception
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback)
                Logger.AddMessage(New LogMessage(exception.Message.ToString()))
            Finally
                'End UndoStep
                Project.UndoContext.EndUndoStep()
            End Try
        End Sub
     
        Private Shared Sub ShowTarget(position As Vector3)
            Try
                'get the active station
                Dim station As Station = TryCast(Project.ActiveProject, Station)
     
                'create robtarget
                Dim robTarget As New RsRobTarget()
                robTarget.Name = station.ActiveTask.GetValidRapidName("Target", "_", 10)
     
                'translation
                robTarget.Frame.Translation = position
     
                'add robtargets to datadeclaration
                station.ActiveTask.DataDeclarations.Add(robTarget)
     
                'create target
                Dim target As New RsTarget(station.ActiveTask.ActiveWorkObject, robTarget)
                target.Name = robTarget.Name
                target.Attributes.Add(target.Name, True)
     
                'add targets to active task
                station.ActiveTask.Targets.Add(target)
            Catch exception As Exception
                Logger.AddMessage(New LogMessage(exception.Message.ToString()))
            End Try
        End Sub
    Visual Studio m'indique 2 erreur à cette ligne : GraphicPicker.GraphicPick += New GraphicPickEventHandler(GraphicPicker_GraphicPick) (ligne 6)

    Erreur 1 'Public Shared Event GraphicPick(sender As Object, e As ABB.Robotics.RobotStudio.Stations.Forms.GraphicPickEventArgs)' est un événement. Il ne peut donc pas être appelé directement. Utilisez une instruction 'RaiseEvent' pour déclencher un événement.

    Erreur 2 Le délégué 'ABB.Robotics.RobotStudio.Stations.Forms.GraphicPickEventHandler' requiert une expression 'AddressOf' ou une expression lambda en tant qu'unique argument de son constructeur.

    Si quelqu'un pourrait m'éclaircir le problème.

    Merci d'avance,

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Ce serait plutôt dans le style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler GraphicPicker.GraphicPick, AddressOf GraphicPicker_GraphicPick
    pour attribuer l'évènement à la méthode
    Sinon si le but est de le déclencher, il faut utiliser RaiseEvent
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut
    Merci de ta réponse,
    Je vais tester de suite

    Edit : Ca fonctionne, Merci RV, simple et efficace !

  4. #4
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Si je peux me permettre une remarque un peu hors-sujet ; tu devrais éviter d'éditer ta réponse pour dire que ça fonctionne.
    Je m'explique, lorsque tu réponds les gens qui suivent le sujet (soit parce qu'il y ont répondu soit parce qu'ils s'y sont abonnés) reçoivent une notification mais pas leur de l'édition d'un post ; par conséquent ils reçoivent une notification d'un message "peu utile" (typiquement "je vais tester") mais ne sont pas informés lorsque tu édites pour dire que ça fonctionne (ou pire que ça ne fonctionne pas) et donc risquent de passer à côté s'ils ne reviennent pas d'eux-mêmes vérifier (et quand on fait et suit pas mal de choses ça arrive vite).
    Moralité, autant ne pas poster le message pour dire que tu vas tester (on se doute bien qu'à un moment tu vas tenter ce qui t'a été proposé) et poste juste le résultat de ce test (qu'il soit un succès ou un échec [avec les infos utiles supplémentaires dans ce cas ])
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  5. #5
    Membre habitué
    Homme Profil pro
    Automaticien
    Inscrit en
    Avril 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 96
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par Sehnsucht Voir le message
    Si je peux me permettre une remarque un peu hors-sujet ; tu devrais éviter d'éditer ta réponse pour dire que ça fonctionne.
    Je m'explique, lorsque tu réponds les gens qui suivent le sujet (soit parce qu'il y ont répondu soit parce qu'ils s'y sont abonnés) reçoivent une notification mais pas leur de l'édition d'un post ; par conséquent ils reçoivent une notification d'un message "peu utile" (typiquement "je vais tester") mais ne sont pas informés lorsque tu édites pour dire que ça fonctionne (ou pire que ça ne fonctionne pas) et donc risquent de passer à côté s'ils ne reviennent pas d'eux-mêmes vérifier (et quand on fait et suit pas mal de choses ça arrive vite).
    Moralité, autant ne pas poster le message pour dire que tu vas tester (on se doute bien qu'à un moment tu vas tenter ce qui t'a été proposé) et poste juste le résultat de ce test (qu'il soit un succès ou un échec [avec les infos utiles supplémentaires dans ce cas ])
    Je prends ta remarque en considération. Merci du conseil.

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

Discussions similaires

  1. Problème RaiseEvent dans un Thread
    Par Anklor dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/02/2011, 23h28
  2. Problème Evènements dans classe différente
    Par narglix dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 10/12/2008, 19h17
  3. Réponses: 3
    Dernier message: 29/10/2008, 13h55
  4. Problème d'Evènement sur contrôle personnalisé
    Par Ishizaki dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/08/2008, 11h16
  5. problème d'evènement avec JLIST
    Par henpower dans le forum Composants
    Réponses: 2
    Dernier message: 30/01/2008, 19h26

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