Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

TThread. Что не так? И как с этим бороться?   Найти похожие ветки 

 
ak75   (2003-11-08 18:00) [0]

Подскажите. Я первый раз работаю с потоками.
Задача: При DragDrop"е из одного контрола в другой происходит очень длительные отработки запросов (от 5 сек. до 7 мин.), чтобы юзверь мог видеть, что прога не повисла я решил повесить на форму TRzProgressBar и для видимости увеличивать его показания в отдельном потоке, т.к., сами понимаете, отследить процент выполнения SQL"я нельзя.
Проблема:
Создаю поток в начале события OnDragDrop целевого контрола. Уничтожаю в конце, после того как всеSQL"и отработали. Процедура где увеличивается заполнение ProgressBar"а срабатывает один раз и на
этом все.
procedure TDragTheard.GiveAnswer;
begin
frmDragDrop.RzProgressBar1.IncPartsByOne;
end;

procedure TDragTheard.Execute;
begin
FreeOnTerminate := True;
while not Terminated do Synchronize(GiveAnswer);
end;
Если поставить два Button (один Creat, другой Terminate) и нажать на первый, то все работает.
Если нажать Button1, прОгресс растет, потом сделать DragDrop, прОгресс останавливается.
Как сделать чтобы заполенние ProgressBar"а работало во время выполнения запросов?


 
Palladin   (2003-11-08 18:04) [1]

Великий смысл потока тонет в Synchronize.
F1


 
panov   (2003-11-08 18:23) [2]

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



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

Форум: "Основная";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.011 c
1-65962
АлексейК
2003-11-10 09:05
2003.11.20
передача параметров в ServiceMain


3-65697
Ozone
2003-10-28 07:54
2003.11.20
Все тот же ADO


1-65835
Ganjo
2003-11-07 13:08
2003.11.20
Размер задествованих ресурсов


1-65893
abc1
2003-11-11 15:51
2003.11.20
Перехват событий


1-65827
BlackTiger
2003-11-11 17:25
2003.11.20
Как на канве вывести текст вертикально?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский