Surcharge de la méthode d'un objet
Bonjour,
Voici mon problème:
Je cherche à piloter CanAlyser via un code python.
J'ai trouvé ce code sur le net qui fonctionne presque:
Code:
1 2 3 4 5 6 7 8 9 10 11
| Application = Dispatch("CANalyzer.Application")
Measurement = Application.Measurement
ApplicationEvents = WithEvents(Application,ApplEvents)
MeasurementEvents=WithEvents(Measurement,MeasEvents)
CAPL=Application.CAPL
Application.Open("C:\\Users\\test.cfg")
ref=CAPL.GetFunction("TEST")
Measurement.Start()
wait(2000)
ref.Call(1) #this is ignored by canalyzer |
Le souci est que "ref=CAPL.GetFunction("TEST")" doit être exécuté sur l'événement OnInit de l'objet Measurement. Et c'est là que je coince.
En VBA ça donne:
Code:
1 2 3
| Sub Measurement_OnInit()
Set ref= App.Capl.GetFunction("TEST")
End Sub |
Est il possible de faire la même chose en python?
VB.NET recuperation d'evenement
,j'ai commencer un projet en VB.NET mais j'arrive pas à appeller les fonction CAPL :
Dim WithEvents gCanApp As CANalyzer.Application
Dim WithEvents gCanMeasurement As CANalyzer.Measurement
Dim gMultiplyFunction As CANalyzer.CAPLFunction
Dim gMultiplyResult As Integer
gMultiplyFunction = gCanApp.CAPL.GetFunction("Multiply”)
gMultiplyResult = gMultiplyFunction.Call (4, 5)
mais ca marche pas pour moi ca me donne un erreur de ce genre :
gMultiplyFunction = gCanApp.CAPL.GetFunction("Multiply”):defaillance irrémédiable ( Exception de HRESULT: 0x8000FFFF)
je vous remercier pour une reponse pour remedier à ce blem
merci et bonne journé