Вниз
Скачать: CL | DM;

"Белая форма"   Найти похожие ветки 

 
mefodiy   (2009-04-16 15:15) [0]

Использую MySQL и ADO. Если какой-либо процесс сильно загружает процессор и продолжается относительно долго (десятки секунд), то иногда форма из которой был запущен процесс вся заливается белым цветом. Так продолжается до момента окончания процесса.
В принципе, это не мешает работе программы, но, как говорится, "хоть и мелочь , но неприятно".
Может кто знает, почему это происходит, и как этого избежать?
Спасибо.


 
Медвежонок Пятачок ©   (2009-04-16 15:18) [1]

от того, что форма не обрабатывает сообщения виндоуз.


 
Сергей М. ©   (2009-04-16 15:20) [2]


> форма из которой был запущен процесс вся заливается белым
> цветом


А мышью твою форму можно таскать за уши по десктопу в тот момент когда форма "белая" и идет "процесс" ?


 
sniknik ©   (2009-04-16 15:22) [3]

перейти на асинхронные методы работы в ADO. хотя ... что это там еще за "процесс" вопрос, может все можно на сервере сделать.


 
clickmaker ©   (2009-04-16 15:23) [4]

> Если какой-либо процесс сильно загружает процессор и продолжается
> относительно долго (десятки секунд), то иногда форма из
> которой был запущен процесс вся заливается белы

какой процесс? запрос?


 
mefodiy   (2009-04-16 16:12) [5]

<какой процесс? запрос?>

В частности, когда корректирую таблицу в гриде и затем выполняю команду
  ADOQuery.UpdateBatch(arAll);


 
Сергей М. ©   (2009-04-16 16:21) [6]


> ADOQuery.UpdateBatch


Это не "запуск процесса", а вызов метода объекта.

При исполнении этого метода основной поток процесса твоего приложения, отвечающий в т.ч. и за интерактивное взаимодействие с юзером (перерисовка окон, реакция на события ввода), занят пакетным обновлением и не реагирует на "сигналы" ОС о необходимости перересовать такое-то окно или отреагировать на клавиатурно-мышиные и иные события.
Оттого и окно белое.


 
mefodiy   (2009-04-16 16:37) [7]

Понятно, а как лечить?


 
Сергей М. ©   (2009-04-16 16:47) [8]


> как лечить?


Либо [3] либо вынос блокирующей логики в доп.кодовый поток


 
sniknik ©   (2009-04-16 17:03) [9]

хм. чтобы UpdateBatch отрабатывал десятки секунд нужно наредактировать  пару миллионов записей... очевидно это не руками сделано. а раз так то лучше вынести логику на сервер.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.007 c
15-1237592324
Kerk
2009-03-21 02:38
2009.05.31
Посоветуйте чего посмотреть


3-1221766047
Девушка
2008-09-18 23:27
2009.05.31
Fib+ ClientDataSet + MasterDetail = Key Violation


15-1238219163
anton773
2009-03-28 08:46
2009.05.31
Timage не хочет загружать рисунки.


8-1194437854
zvukoff
2007-11-07 15:17
2009.05.31
как снять звук с микрофона и тут же его выводить на колонки


11-1201117485
Vinum
2008-01-23 22:44
2009.05.31
Как скопировать рисунок из канвы в буфер




   Наверх