"Замерзание" окна. Помогите с потоками.
Задача: есть программа работающая с базами данных, выполняющая много долгих транзакций (в среднем от 15 до 60 секунд) на протяжении этого времени форма приложения «замерзает» и временами не успевает перерисовывать некоторые элементы окна, что создает для пользователя ощущение «зависания», с которым он частенько расправляется доступными в ОС средствами...
Вопрос: Как бы сделать так, чтобы на время выполнения транзакции выводить небольшое окошко с какой-нибудь лабудой, показывающей что программа работает, но окошко – модальное (т.е. чтобы пока оно не закроется юзер не мог ничего ткнуть в основной форме)? Хотелось бы что-то простое и рациональное, код типа
[Подготовка транзакции]
Form->Show();
[транзакция]
Form->Close();
Использовать метод ShowModal() как я понял нельзя, т.к. в этом случае программа ждет закрытия формы, а переносить функциональность [транзакции] в модальную форму не хочется, т.к. транзакций много, а форма для них нужна только одна и выдирать теперь участки кода из разных частей и переносить их в нее лень... 
Есть идеи? Может кто чего другое подскажет по управлению экраном в таких ситуациях? Прибегать к усложнению типа создания Threads тоже не хотелось бы.
Заранее благодарен за любые дельные советы.
Есть идеи? Может кто чего другое подскажет по управлению экраном в таких ситуациях? Прибегать к усложнению типа создания Threads тоже не хотелось бы.
Без потоков не получится. Разве только выводить что-нить статическое. Если же картинка должна двигаться, транзакция должна выполняться в другом потоке, т. к. иначе выполнение транзакции блокирует основной поток программы.
Можешь попробовать саботажный вариант - создать форму с анимированным GIF или каким-нить TAnimate, которая будет насильно возвращать на себя фокус при малейшей попытке пользователя перейти куда-нить вне нее. Только уверен, что картинка двигаться не будет.
Кстати, что за база, что за компоненты?
Без потоков не получится. Разве только выводить что-нить статическое. ..........
Кстати, что за база, что за компоненты?
эх... :( похоже придется с потоками мучится
База ms sql 7, интерфейс ADO
эх... :( похоже придется с потоками мучится
База ms sql 7, интерфейс ADO
Можно еще какой нибудь gif анимированный вывести.
эх... :( похоже придется с потоками мучится
База ms sql 7, интерфейс ADO
А чё с инми мучиться ??? Посмотри документацию - для основной (запуск, остановка)роботы с потоками используеться пара функций !