Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

цикл как процесс   Найти похожие ветки 

 
The Vizit0r!   (2004-12-03 19:38) [0]

Народ! Есть программа, там выполняется долгий цикл, узнал от товарища, чтобы цикл не вешал графич. форму нужно его реализовать как отдельный процесс TThread но я не могу понять как это сделать! помогите пожалуйста, если можно, то кодом!


 
Palladin ©   (2004-12-03 19:40) [1]

%Delphi%\Demos\Threads\


 
tormoz   (2004-12-03 19:42) [2]

Можешь в цикл написать строку Application.ProcessMessages,
а так создай свой класс-потомок от TThread, переопредели его метод Execute, впиши туда, что ты хочешь, чтобы выполнялось, и все


 
The Vizit0r!   (2004-12-03 19:45) [3]

А что лучше? Application.ProcessMessages, TThread? При использование чего будет меньше тормозить граф. форма? спасибо!


 
Ильичев С.А. ©   (2004-12-03 21:21) [4]

лучше CreateThread


 
Palladin ©   (2004-12-03 21:36) [5]

Чем?


 
Fay ©   (2004-12-03 21:38) [6]

2 Palladin ©   (03.12.04 21:36) [5]
Чем TThread. Если знаешь как это делается на API - проще написать именно на API. Во всяком случае мне 8)


 
Alexander Panov ©   (2004-12-03 21:38) [7]

The Vizit0r!   (03.12.04 19:45) [3]
А что лучше? Application.ProcessMessages, TThread? При использование чего будет меньше тормозить граф. форма? спасибо!


Смотря что ты хочешь в отдельном потоке делать.


 
Ильичев С.А. ©   (2004-12-03 23:16) [8]

2 [6] Fay ©   (03.12.04 21:38)

Так то оно да =)


 
Gloomer ©   (2004-12-04 09:26) [9]

2 The Vizit0r!   (03.12.04 19:45) [3]
> А что лучше? Application.ProcessMessages, TThread? При использование чего будет меньше тормозить граф. форма? спасибо!

Что имеется ввиду под "меньше тормозить граф. форма"?
Я понимаю, что у тебя происходит очень большой цикл, в течение которого не происходит прорисовки активной формы и компонентов на ней. В этом случае просто вставь строку
Application.ProcessMessages
в теле цикла и прорисовка формы пойдет. Так легче и проще...
Если нужно в этот момент делать что-то еще, например, отменить выполнение цикла или сделавь что-либо не связанное с циклом, то без отдельного потока не обойтись. Но при использовании отдельного потока TThread будет использовано больше памяти, а на компьютере типа 486DX80 с 8Мб памяти это равносильно not "меньше тормозить граф. форма" :-)



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

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
14-1101575891
OneFragLeft
2004-11-27 20:18
2004.12.19
Отправка дисков по почте.


3-1100863630
Irina :)
2004-11-19 14:27
2004.12.19
Восстановление базы


1-1102361383
z_man
2004-12-06 22:29
2004.12.19
Как удалить все файлы и папки по указанному пути?


1-1101899498
VasRog
2004-12-01 14:11
2004.12.19
Excel


3-1100690809
Katch'k'Mp3M
2004-11-17 14:26
2004.12.19
Как создать SQL запрос к XML таблице?