1

我正在尝试使用用 C++ 编写的包(共享库)运行 tclsh。包需要一种类似于 Windows PumpMessage 的机制,一旦通过包 req 加载,它就会在主线程上定期调用。

有了希望,我可以简单地通过注册一个计时器处理程序Tcl_CreateTimerHandler,它工作正常。

使用 tclsh,事件循环不存在,所以我无法从我的包中连接。我尝试设置主循环(Tcl_SetMainLoop),但它被调用一次,之后它被设置为 NULL。

关于如何实现这一目标的任何想法?

4

1 回答 1

0

查看tk代码后得到它。主循环需要自己做循环(它没有像我预期的那样在循环中调用)。

如果设置到 tcl 中的主循环执行了一个 while 循环,那么它工作正常。

于 2015-06-23T08:32:39.617 回答