On Aug 1, 2:22 pm, sirjee wrote:
> hello;
>
> i m facing a problem in handling events on change of value of
> environment variable in a toolCANoe.
>
> class CANoeEvents:
> def OnChange(self,value):
> print "value of environment variable has changed"
> def OnOpen(self,App):
> print "opening Application"
>
> App_Event = DispatchWithEvents('CANoe.Application',CANoeEvents)
> time.sleep(2)
> App_Event.Open("C:\projectConfig.cfg") # printd "opening Application"
> and event handled properly.
> ...(now a code file runs in thecanoein which value of
> environment variable called dummy is changed during execution. Just
> like OnOpen; OnChange is defined in specification which should be
> called on change of environment variable.But it is not happening.)
> while ():
> myenvVar = App_Event.Environment.GetVariable("dummy")
>
> The VB does it very easily and defines a subroutine called :
> Sub myenvVar _OnChange(value)
> print "value of environment variable has changed"
> End Sub
> //however the
> alternative for subroutine for OnOpen in VB (defined below) works fine
> as shown above in python.
> Sub AppEvent_OnOpen(App)
> print "opening Application"
> End Sub
>
> for VB; all this stuff is cake work object_eventname subroutine
> and done.what in python?
hi all;
strange
i got answer to the problem posted by me only.
now I have very good control of CANoe tool from python
if anybody faces any problem wrt automation of CANoe tool using
python; do contact me.
here actual problem lied in analysing and implementing com heirarchy.
( which is really bit cumbersome)
onChange event is associated with App_Event.Environment.GetVariable
("dummy") object.
So we need to associate separate class with this object and then write
onChange function:
class evtClass:
def __init__(self):
print "initializing event class"
def OnChange(self,value):
print "value of environment variable changing"
print "changed value of environment variable is"
print value
see = App_Event.Environment.GetVariable("dummy")
see_temp=DispatchWithEvents(see,evtClass)
this will solve problem.
So we need to create separate classes for events associated with
separate objects.
regards
sirjee
--
http://mail.python.org/mailman/listinfo/python-list