Тчлш против желания (ткл / тк)

Я пытаюсь запустить tclsh с моим пакетом (разделяемой библиотекой), написанным на C++. Пакет нуждается в механизме, подобном Windows PumpMessage, чтобы периодически вызываться в главном потоке после его загрузки через пакет req.

При желании я могу просто зарегистрировать обработчик таймера через Tcl_CreateTimerHandler и это работает нормально.

С tclsh цикл обработки событий не существует, поэтому я не могу подключиться к своему пакету. Я попытался настроить основной цикл (Tcl_SetMainLoop), но это вызывается один раз, а потом устанавливается в NULL.

Есть идеи, как мне этого добиться?

1 ответ

Понял после просмотра кода ТК. Основной цикл должен делать сам цикл (он не вызывается в цикле, как я ожидал).

Если основной цикл, установленный в tcl, выполняет цикл while, он работает нормально.

Другие вопросы по тегам