Даже если подумать логически, не стоит давать пользователю делать что-то во время изменения БД
Да, есть риск что пользователь что-то удалит и весь расчет упадет
Скорее всего, разработчики ядра не предусмотрели параллельную работу из различных потоков
Сейчас, когда даже в телефонах стоят многоядерные процессоры, это особенно печалит...
Вставь progressbar.
Это именно то что я собирался сделать. Спасибо за пример, я и не знал что есть готовый прогрессбар -
ProgressMeter. Правда очень уж куцый он, ни процент вывести, ни оставшееся время. И почему-то затирается строкой состояния при обновлении экрана. Есть какой то
ProgressTrayItem, может быть по нему есть пример, не нашел его в документации.
Я бы подумал про изменение логики работы программы.
В том то и дело что бизнес логика содержит создание объектов автокада - как промежуточных, для расчета, так и окончательных для добавления в базу. И разделить их не получится.
Может быть действительно многопоточность в автокаде это плохая идея. Запустить в одном потоке, заморозить все приложение, и пусть ждут.