Récupération d'évenement en VB

Résolu/Fermé
Signaler
Messages postés
6
Date d'inscription
mardi 29 juin 2010
Statut
Membre
Dernière intervention
1 juillet 2010
-
 abdo -
Bonjour,

Je suis en train de mettre très succinctement à VB, histoire de faire un bout de code pour commander un autre soft, disposant de fonction .COM.

J'arrive sans problème à lancer mon application (CANalyzer), mais impossible de récupérer les évènements.

Je me doute que personne ne connait cette application, j'aimerai juste connaitre si la structure générale de mon code est bonne :


Public Class Form1
    Inherits System.Windows.Forms.Form

    Dim WithEvents gCanApp As CANalyzer.Application
    Dim WithEvents gCanMeasurement As CANalyzer.Measurement

    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If gCanApp Is Nothing Then
            gCanApp = CreateObject("CANalyzer.Application")

            gCanApp.Open("G:\myScript\Configuration.cfg")
            gCanApp.Measurement.Start()


            'quit the CANalyzer application 
            'gCanApp.Quit()

        End If
    End Sub


  Private Sub gCanApp_OnQuit() Handles gCanApp.OnQuit

        End
    End Sub

    Private Sub gCanMeasurement_OnStop() Handles gCanMeasurement.OnStop
        gCanApp.Quit()
    End Sub
End Class



Y-a-t'il quelque chose qui cloche de bien visible?

Merci !



3 réponses

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Bonjour,
Beh oui, tu déclare tes variables dans le Form_Load.. ce qui fait qu'elle ne sont aps visible ailleur.
bien que je ne sois pas familiarisé avec le .Net je verrais plutôt..
dans la partie générale du module..
Dim WithEvents gCanApp As CANalyzer.Application
Dim WithEvents gCanMeasurement As CANalyzer.Measurement

et dans form load..
Set gCanApp = New CANalyzer.Application
set gCanMeasurement = New CANalyzer.Measurement


A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
mardi 29 juin 2010
Statut
Membre
Dernière intervention
1 juillet 2010

Apparemment, ça serait bien ça, merci.

Cela dit, le problème est que si j'initialise les variables à la déclaration, je ne peux pas au préalable tester si l'application est déjà lancée ("If gCanApp Is Nothing Then").

Merci en tout cas !
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Tu peu tester si l'objet est déjà "Set" avec (comme c'est un objet c'est un peu Heuuu..)
    If Not CANalyzer.Measurement is nothing Then
       'C'est initialiser
    else
        'C'est pas initialiser
    End if


Possible qu'il faudra un On Error mais je ne pense pas vu que tu le déclarre en haut du module.
A+
Merci du coups de main :)
j'ai décidé de créer un interface graphique en utilisant uniquement Visual Basic.comment je peux communiquer Visual Basic avec le CANalyzer pour appeler les fonctions CAPL déjà mis en oeuvre dans CANalyzer, la fonction CAPL sont mis en oeuvre pour contrôler le trafic sur 2 de bus CAN Je veux une indication qui peut m'aider à démarrer mon projet (docs ou GUI)
jevous remercie pour votre aide