|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.03.2017, 18:29 | #1 |
Пользователь
Регистрация: 11.05.2011
Сообщений: 31
|
Цикл в потоке прерывается
Доброго времени суток!
Есть цикл, который выполняется в потоке. Через определенное время цикл прерывается: просто останавливается и не выполняется никаких дальнейших действий. В исходной таблице, откуда берутся данные - ошибок нет, цикл может прерываться на разных записях. Как определить, с чем это может быть связано? Код программы: Код:
Код:
|
15.03.2017, 19:48 | #2 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
15.03.2017, 20:16 | #3 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Почти все выполняется в основном потоке. Зачем поток?
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
15.03.2017, 20:37 | #4 |
Пользователь
Регистрация: 11.05.2011
Сообщений: 31
|
Программой создается по 3 графических файла для каждой из 500-3000 записей, следовательно - цикл выполняется довольно таки длительное время
Т.е. в TMyThread.Execute мне нужно прописать только Synchronize(SetProgress), а все остальное действия выполнять в TMyThread.SetProgress? |
15.03.2017, 20:48 | #5 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
15.03.2017, 21:54 | #6 |
Пользователь
Регистрация: 11.05.2011
Сообщений: 31
|
|
15.03.2017, 22:06 | #7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
В данном конкретном случае достаточно грамотно использовать Application.ProcessMessages. Эффект будет такой же, а геморроя гораздо меньше.
|
15.03.2017, 22:10 | #8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
путь 2. написать это без потоков, получить ошибку EOutfMemory скорее всего и начать думать почему и как это исправить. имеем кучу создаваемых в цикле объектов без их освобождения.
программа — запись алгоритма на языке понятном транслятору
|
|
16.03.2017, 09:20 | #9 | ||
Пользователь
Регистрация: 11.05.2011
Сообщений: 31
|
Цитата:
Понимаю, что балбес я - но так и не понял, в чем проблема и что я сделал не так с ним Цитата:
путь 2 - у меня же только bmp:=tbitmap.Create и SendJPG:=TJPEGImage.Create создаются... Щас попробую их освободить |
||
16.03.2017, 11:53 | #10 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
не проще отполировать алгоритм, а не бороться с его шершавостью?
Не стесняемся, плюсуем!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему прерывается работа программы после чтения их файла? | Вероника99 | Помощь студентам | 1 | 26.01.2014 19:06 |
Как из метода X в потоке А, вызвать метод Y и чтобы он работал в потоке B ? | lawliet93 | C# (си шарп) | 0 | 09.03.2013 18:16 |
Почему прерывается поиск в MS. Word | Pavel229 | Общие вопросы Delphi | 0 | 18.07.2011 10:22 |
Действие lines.add не завершает свего дествия, т.е прерывается | NiKiToZZ- | Помощь студентам | 1 | 13.02.2011 13:53 |
Поток прерывается самостоятельно | Ferrum26 | Общие вопросы Delphi | 7 | 28.07.2010 15:36 |