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

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

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

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

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

1

Решение

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

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

0

Другие решения


По вопросам рекламы [email protected]