2015-06-23 81 views
1

我試圖用C++編寫的包(共享庫)運行tclsh。該包需要一個類似於Windows PumpMessage的機制,一旦通過包req加載,它就會在主線程上定期調用。tclsh vs希望(tcl/tk)

隨着願望,我可以通過Tcl_CreateTimerHandler簡單地註冊一個計時器處理程序,它工作正常。

使用tclsh,事件循環不存在,所以我無法從我的包中掛接。我嘗試設置主循環(Tcl_SetMainLoop),但被調用一次,之後它被設置爲NULL。

關於我如何實現這一點的任何想法?

回答

0

查看tk代碼後得到它。主循環需要執行循環本身(它不會像我期望的那樣在循環中調用)。

如果設置爲tcl的主循環做了一個while循環,它工作正常。