问题描述
我正在使用python开发程序。
该程序从主线程开始,其循环为1秒无限循环。
但是事件处理程序不起作用,仅运行主线程。
class MainClass:
def Start(self):
while True:
if condition == True:
self.objCur = CpPBCur()
self.objCur.Subscribe(val1,self)
time.sleep(1)
class CpPBCur(CpPublish):
def __init__(self):
super().__init__("cur","DsCbo1.Cur")
class CpPublish:
def __init__(self,name,serviceID):
self.name = name
self.obj = win32com.client.dispatch(serviceID)
self.bIsSB = False
def Subscribe(self,var,parent):
if self.bIsSB:
self.Unsubscribe()
if (len(var) > 0):
self.obj.SetInputValue(0,var)
handler = win32com.client.WithEvents(self.obj,CpEvent)
handler.set_params(self.obj,self.name,parent)
self.obj.Subscribe()
self.bIsSB = True
class CpEvent:
def ReceiveEvent(self):
do something...
if __name__ == "__main__":
myCls = MainClass()
myCls.Start()
我的计划是在某些条件成立的情况下
调用Subscribe方法并从CpEvent类接收事件。同时,主线程
是保持循环并检查状况。
如何操作事件处理程序,使其不会与线程挂起?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)