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

Вниз

Потоки   Найти похожие ветки 

 
MIKL_b   (2004-03-16 13:20) [0]

Вощем я делаю прогу, которая работает с текстом (В данном случае вынимает из него все E-Mail), так вот сделал мемо1, в которое результаты вставляются, сделал прогресс бар, который показует сколько строк считало\скоко осталось и наконец сделал Label1, в которой должно быть отображено это соотношение(строк считало\скоко осталось), образца: "5\330". Вот тут проблема: я сделал отдельный поток, в котором Label1 синхронится, но изменяется она только в конце процедуры, то есть когда весь файл уже считан и обработан. А надо чтоб во время работы она менялась! Заранее спасибо.


 
Erik ©   (2004-03-16 13:28) [1]

Зачем отдельнай поток просто сделай PostMessage а в форме лови. Незабудь на всякий случай Application.Poscessmessage;


 
Digitman ©   (2004-03-16 13:33) [2]


> сделал отдельный поток, в котором Label1 синхронится


и это все, чем занят этот поток ?!


 
Луарвик   (2004-03-16 13:40) [3]

2Erik А можно подробней? Статьи какие-нить...
2Digitman Вощем да. А что мало?


 
MIKL_b   (2004-03-16 13:48) [4]

Тьфу! Запутался в именах своих...
Луарвик  -эт я


 
Digitman ©   (2004-03-16 13:58) [5]


> Луарвик   (16.03.04 13:40) [3]


> Вощем да. А что мало?


не то слово !)
на кой шут тогда этот поток нужен, если все, что он делает, с успехом можно сделать и в основном потоке ... более того, задача манипуляции визуальными св-вами VCL-контролов (имеющих прямое отношению к виз.интерфейсу пользователя) - это задача именно основного код.потока .. дополнительный же код.поток требуется  в 1-ю очередь тогда, когда необходимо выполнить сложные и/или длительные вычисления параллельно с другими кодовыми потоками (в дан.случае - с основным, который в любой момент времени должен реагировать на пользовательский ввод/вывод, принимать и обрабатывать оконные сообщения, обновлять виз.интерфейс и т.д. и т.п.)


 
Digitman ©   (2004-03-16 13:58) [6]


> Луарвик   (16.03.04 13:40) [3]


> Вощем да. А что мало?


не то слово !)
на кой шут тогда этот поток нужен, если все, что он делает, с успехом можно сделать и в основном потоке ... более того, задача манипуляции визуальными св-вами VCL-контролов (имеющих прямое отношению к виз.интерфейсу пользователя) - это задача именно основного код.потока .. дополнительный же код.поток требуется  в 1-ю очередь тогда, когда необходимо выполнить сложные и/или длительные вычисления параллельно с другими кодовыми потоками (в дан.случае - с основным, который в любой момент времени должен реагировать на пользовательский ввод/вывод, принимать и обрабатывать оконные сообщения, обновлять виз.интерфейс и т.д. и т.п.)


 
MIKL_b   (2004-03-16 14:04) [7]

Ну ладно, рад что все можно в основном потоке замутить. Ну как именно?


 
Digitman ©   (2004-03-16 14:21) [8]

for i:= ... to ... do
begin
... //чего-то там творишь со своим Memo
ProgressBar.Position := ... //такая-то позиция
Label.Caption := ... //такая-то подпись
Application.ProcessMessages; // собственно обработка очереди сообщений, в которой на этот момент уже есть сообщения, требующие обновления виз.контролов
end;


 
MIKL_b   (2004-03-16 14:40) [9]

Тоесть просто Application.ProcessMessages вставить надо?


 
Digitman ©   (2004-03-16 14:44) [10]

угу... "вставить" .. или "замутить" ... как твоему глазу/уху приятней..
те же .., но вид сбоку)

ларчик-то , оказывается, просто открывался)
а ты в дебри полез, с доп.потоками)


 
MIKL_b   (2004-03-16 14:48) [11]

Все работает! Спасибо Digitman!!!



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

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

Наверх





Память: 0.47 MB
Время: 0.031 c
7-1074163178
axx
2004-01-15 13:39
2004.04.04
Штрих сканер


1-1079628243
}|{yk
2004-03-18 19:44
2004.04.04
Глупый вопрос конечно. Про перебор алфавита


9-1049398593
Archvile
2003-04-03 23:36
2004.04.04
Чудо - "программистам" посвящается


1-1079449791
афвуд2
2004-03-16 18:09
2004.04.04
Модальное окно прячется за другое окно.


3-1078938139
Крутыш
2004-03-10 20:02
2004.04.04
Поиск в базе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский