我正在尝试用我用C++编写的包(共享库)来运行tclsh。该程序包需要一种类似于Windows PumpMessage的机制,以便在通过程序包请求加载后在主线程上定期调用。
有了wish,我可以简单地通过Tcl_CreateTimerHandler注册一个计时器处理程序,它工作得很好。
使用tclsh,事件循环不存在,所以我不能从我的包中挂接。我尝试设置主循环(Tcl_SetMainLoop),但它被调用一次,之后被设置为NULL。
关于如何实现这一点有什么想法吗?
发布于 2015-06-23 16:32:40
在查看tk代码后得到的。主循环需要执行循环本身(并不是像我预期的那样在循环中调用)。
如果设置成tcl的主循环执行了while循环,那么它工作得很好。
https://stackoverflow.com/questions/30997130
复制相似问题