-
Допустим программа выполняет какие то вычисления, допустим несколько последовательных запросов, запросы большие требуется некоторое время, но по истечении части этого времени окно программы становится не доступной в заголовке появляется сообщение, что программа не отвечает на запросы системы. Данна проблема возникла в WinXP. В Win98 достаточно было между запросами дать команду frm.Update и окн было всегда доступным. В WinXP это не спасает.
Может кто знает как от этой проблемы избавиться.
-
> [0] wipr (16.11.07 19:53)
потоки?
-
запросы в отдельных потоках?
не в одной книге по БД я этого не встречал.
-
> в заголовке появляется сообщение, что программа не отвечает
> на запросы системы
Не ври. Само по себе это сообщение не появится.
Не трогай окно приложения, пока приложение не закончит свою скорбную миссию.
-
Пробле в этом и есть. Я все понимаю, но некотырые пользователи начинают суетиться...
Странность следующая в Win98 проблемы не было, в Win2000 не замечал, а WinXP стало напрегать. Понимаю, потоки может и спасение, но частично, интересно разобраться в причине.
-
> некотырые пользователи начинают суетиться
Application.ProcessMessages в каждой итерации цикла наверняка спасет отца руссой демократии.
-
Application.ProcessMessages интересная штука, не пробовал. Попробую.
-
Не забудь посолить. И про крекс-пекс-фекс тоже.
-
Всё работает отлично. Спасибо.
Этот форум ещё ни разу меня не подвёл.
-
> wipr (16.11.07 21:18) [8]
А уж если ты поймешь, что это не панацея, то цены тебе не будет как программеру)
-
> [2] wipr (16.11.07 20:19)
а ProcessMessages встречал?
-
Однако же, если это не цикл, а просто длительная операция (мощный запрос к БД, например), то ProcessMessages вставить некуда. Остаются потоки.
-
> Не трогай окно приложения, пока приложение не закончит свою
> скорбную миссию.
А лучше вообще, компьютер не включай, и проблем не будет, ага?
> Странность следующая в Win98 проблемы не было
Тебе показалось.
> Юрий Зотов
У автора таки «последовательность потоков», нсть куда вставить.