Récupération d'évenement en VB

Résolu/Fermé
Zanzax Messages postés 6 Date d'inscription mardi 29 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 - 30 juin 2010 à 15:51
 abdo - 21 mars 2011 à 18:38
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 !



A voir également:

3 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
30 juin 2010 à 18:10
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
Zanzax Messages postés 6 Date d'inscription mardi 29 juin 2010 Statut Membre Dernière intervention 1 juillet 2010
1 juil. 2010 à 11:26
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 !
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
1 juil. 2010 à 16:31
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+
0
Merci du coups de main :)
0
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
0