<font size=2 face="sans-serif">hello sirjee,</font>
<br>
<br><font size=2 face="sans-serif">i have read You solution for handling
of events from CANoe in python.</font>
<br>
<br><font size=2 face="sans-serif">I've implemented and its work correctly
when I waiting in a msgbox (0, "Finished the Test", "Info",
16).</font>
<br><font size=2 face="sans-serif">I will implement it in a loop with a
sleep time. The standard python function of the sleep blocks the actual
task and the event handling dosn't work.</font>
<br>
<br><font size=2 face="sans-serif">Now I search for a solution to start
the event class in a extra task with treahding.Thread. </font>
<br>
<br><font size=2 face="sans-serif">I've write a simple claas for testing
of this:</font>
<br>
<br><font size=2 face="sans-serif">class Tester (threading.Thread):</font>
<br>
<br><font size=2 face="sans-serif">        def
__init__ (self, variable):</font>
<br><font size=2 face="sans-serif">         
      threading.Thread.__init__ (self)</font>
<br><font size=2 face="sans-serif">         
      self.__debug = True</font>
<br><font size=2 face="sans-serif">         
      self.__env_event = None</font>
<br>
<br><font size=2 face="sans-serif">         
      self.__appl = win32com.client.Dispatch ('CANoe.Application')</font>
<br><font size=2 face="sans-serif">         
      self.__env = self.__appl.Environment</font>
<br><font size=2 face="sans-serif">         
      self.__var_name = variable</font>
<br><font size=2 face="sans-serif">         
      self.__var = self.__env.GetVariable (variable)</font>
<br>
<br><font size=2 face="sans-serif">        def
run (self):</font>
<br><font size=2 face="sans-serif">         
      if self.__var != None:</font>
<br><font size=2 face="sans-serif">         
              self.__env_event
= win32com.client.WithEvents (self.__var, Tester)</font>
<br><font size=2 face="sans-serif">         
      print 'run'</font>
<br><font size=2 face="sans-serif">         
      i = 0</font>
<br><font size=2 face="sans-serif">         
      while True:</font>
<br><font size=2 face="sans-serif">         
              pass</font>
<br><font size=2 face="sans-serif">         
              time.sleep
(10)</font>
<br><font size=2 face="sans-serif">         
              print
i</font>
<br><font size=2 face="sans-serif">         
              i = i
+ 1</font>
<br>
<br><font size=2 face="sans-serif">        def
OnChange (self, value):</font>
<br><font size=2 face="sans-serif">         
      if self._debug: print ('VariableEvents:OnChange
now called with %s' %value)</font>
<br>
<br><font size=2 face="sans-serif">a = Tester ('dummy')</font>
<br><font size=2 face="sans-serif">a.start ()</font>
<br>
<br><font size=2 face="sans-serif">The run() dosn't work. I can't register
the COM event. Have You a solution for this?</font>
<br><font size=2 face="sans-serif">The claas tester works without self.__env_event
= win32com.client.WithEvents (self.__var, Tester).</font>
<br>
<br><font size=2 face="sans-serif">Regards,</font>
<br><font size=2 face="sans-serif">Bernd</font>
<br>