Тчлш против желания (ткл / тк)
Я пытаюсь запустить tclsh с моим пакетом (разделяемой библиотекой), написанным на C++. Пакет нуждается в механизме, подобном Windows PumpMessage, чтобы периодически вызываться в главном потоке после его загрузки через пакет req.
При желании я могу просто зарегистрировать обработчик таймера через Tcl_CreateTimerHandler
и это работает нормально.
С tclsh цикл обработки событий не существует, поэтому я не могу подключиться к своему пакету. Я попытался настроить основной цикл (Tcl_SetMainLoop
), но это вызывается один раз, а потом устанавливается в NULL.
Есть идеи, как мне этого добиться?
1 ответ
Понял после просмотра кода ТК. Основной цикл должен делать сам цикл (он не вызывается в цикле, как я ожидал).
Если основной цикл, установленный в tcl, выполняет цикл while, он работает нормально.