![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
или должен быть там. Цитата:
Берем и добавляем таймер с интервалом в 500 (~0.5 секунды) В его обработчик пишем код из потока (без внешнего цикла while click=0 и без sleep) break заменяем на отключение таймера timer.enabled:=false; click:=1 тоже самое (откл. таймер). удаляем обертку synchronize Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.06.2011 в 16:56. |
||
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 05.02.2011
Сообщений: 35
|
![]()
спасибо большое. Попробую
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 05.02.2011
Сообщений: 35
|
![]()
В общем перепроверил код, все в нем нормально. Глюк в потоке. Или в его вызове, или в приоритете. Ситуация следующая:
Запускаю программу, нажимаю старт, запускается цикл, на слипе тормозит. Бывает что с 1 раза запустится цикл, и на слипе не тормознет, бывает раз 10 надо нажать старт ( старт создает поток ), чтобы он на слипе не тормознул. Если запуск прошел нормально и он на слипе не тормознул, то программа работает без остановки. Уже 3 часа наверное цикл крутит и все ок, никакого зависания на слипе. В чем может быть проблема? Потому что зависание происходит сразу после запуска на первом слипе. Может приоритет нужно какой нибудь другой? Или у потоков есть еще какие нибудь нюансы? |
![]() |
![]() |
![]() |
#14 | |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
В потоке нельзя делать прямое обращение к объектам которые делают визуальные действия, будет всегда ошибка или не правильно работать. С ними нужно работать через функции и обращаться к ним с потока желательно методом Synchronize.
Sleep(1000) можно и на Sleep(10) должен работать в любом случае. Поток без синхронизации Цитата:
Последний раз редактировалось Aliens_wolfs; 21.06.2011 в 23:22. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
функция Sleep() | ^Angel^ | Общие вопросы C/C++ | 9 | 07.05.2011 13:27 |
Как заменить sleep в потоке? чтобы получить задержку 5 мили | Dasverd2010 | Общие вопросы Delphi | 13 | 07.09.2010 14:29 |
Sleep(50); за 63 мс... или за 47... | Teksa | Общие вопросы C/C++ | 8 | 20.07.2010 08:34 |
Проблема с Sleep! | k1r1ch | Общие вопросы Delphi | 11 | 20.06.2009 19:12 |
Аналог Sleep() | Ants | Общие вопросы Delphi | 2 | 18.11.2008 13:11 |