Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

цикл как процесс [D7, WinXP]


The Vizit0r! ©   (2004-12-03 19:38:00) 

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


Gloomer   (2004-12-04 09:26:00) [1]

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

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


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

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

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


Fay   (2004-12-03 21:38:00) [3]

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


Alexander Panov   (2004-12-03 21:38:00) [4]

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


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


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

Чем?


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

лучше CreateThread


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

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


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

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


Palladin   (2004-12-03 19:40:00) [9]

%Delphi%\Demos\Threads\


Наверх

Титульная страница Поиск, карта сайта Написать письмо