| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Idhttp и поток |
| Автор: drdead84 6.12.2014, 07:42 | ||
| Доброе утро нужна помощь есть программа - кратко - сдирает 6 страниц с сайта(записаны адреса в form1.memo3.Lines.Strings), парсит данные с помощью регулярных выражений и записывает в стринглист процедура нагружает проц, поэтому хотелось бы в потоке сделать вышло вот что - при первом запуске все ок. все данные нормально получаются. второй и следующие запуски - выдает ошибку что неизвестный протокол, то есть - не может получить доступ к адресам из memo3. в то же время при тестировании без потока - данные каждый раз нормально снимаются. есть подозрение что поток тупит и во второй раз не получает урл из мемо. кто может пинком указать правильное направление? в потоках не очень силен - поэтому создаю тему здесь. delphi xe2
|
| Автор: Illusion Dolphin 6.12.2014, 09:42 | ||||||
Нельзя из потока вызывать визуальные компоненты без использования Synchronize
А вы его нигде не уничтожили - утечка
http должен быть объявлен в потоке (этого у вас не видно), туда же RegExp Добавлено через 48 секунд И вам сюда http://forum.vingrad.ru/forum/topic-60076.html |
| Автор: drdead84 6.12.2014, 13:45 | ||
| спасибо за ответ Illusion Dolphin вопрос вот в чем - в предыдущей версии моей проги - могу скинуть - там куча целая процедур выполняется в потоке(код внизу привел) при этом там каждая процедура обращалась вольно к любому визуальному компоненту. и запуск ее - вообще чудо. я ее нигде не уничтожаю тоже. а здесь - как прокляли это мемо3. сперва норм обращается - потом клинит поток - и он в упор не видит его то ли инди как всегда кривая. то ли руки кривоватые до потоков. ту статью о потоках читал когда только в них начал разбиратся. пример
|
| Автор: Illusion Dolphin 6.12.2014, 14:57 | ||
Читайте ещё раз, т.к. первый раз вы ничего из неё не поняли. При многопоточности некоторые вещи могут иногда работать, а иногда падать и зависать. Ещё почитайте про оформление кода - лишним не будет. |
| Автор: drdead84 7.12.2014, 06:24 |
| Illusion Dolphin спасибо поместил в protected каждого потока процедуры сменил ресурс, откуда тянутся данные переработал все полностью - все процедуры ускорение - примерно процентов 40% от предыдущего кода спасибо за пинок и пинок в сторону настойчивости вдумчивый просмотр указанной темы помог! |