Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Внизцикл как процесс Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c