Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Завершение потока, Как узнать что поток остановлен 
:(
    Опции темы
artsb
Дата 10.1.2010, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Цитата(Демо @  10.1.2010,  14:31 Найти цитируемый пост)
Terminate для завершения потока и используется.

Эмм... Насколько я понял, топикстартер хочет делать эту проверку именно после проверки флага Terminated. Или до меня опять не дошло  smile 

Это сообщение отредактировал(а) artsb - 10.1.2010, 16:57


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ZBugz
Дата 10.1.2010, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата

Вполне;)

Тогда пока оставлю smile
Цитата

ни в коем случае не используй эту функцию в дополнительных потоках.

Завтра попробую без не, впринципе мысль была, что впринципе нафиг там не нужно это.
Цитата

Вот смотри:

В реализации TThread устанавливаешь FreeOnTerminated := False;

В коде, где у тебя нужно дождаться завершения потока:

Код

MyThread.WaitFor;
MyThread.Free;


Я нечно пробывал, но у меня ошибки получались. Завтра еще попробую, отпишусь.

Цитата

Попробуй код из предыдущего абзаца. Если ошибка останется, значит всё же логическая ошибка где-то в другом месте.

Да все хорошо. Я понял почему ошибка, отловил, не страшно.

Добавлено @ 16:54
Цитата(artsb @ 10.1.2010,  14:56)
Эмм... Насколько я понял, топикстартер хочет делать эу проверку именно после проверки флага Terminated. Или до мня опять не дошло  smile

Ага, именно после проверки, послал Terminated и жду пока он 100% убьеться поток.

Добавлено через 3 минуты и 54 секунды
Цитата(Демо @ 10.1.2010,  14:31)
У автора секретная программа smile

Ага  smile 

Это сообщение отредактировал(а) ZBugz - 10.1.2010, 16:56
PM MAIL   Вверх
artsb
Дата 10.1.2010, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Цитата(ZBugz @  10.1.2010,  16:53 Найти цитируемый пост)
попробую без не

И действительно. Я что-то внимания не обратил.
ProcessMessages, насколько мне известно, служит для "насильной" обработки пришедших сообщений, которые не могут обработаться при выполнении ёмкой операции. Это, например, перерисовка формы, перемещение формы и т.п.
А вы пытаетесь вызвать её из потока, которому эти сообщения и даром не нужны.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ZBugz
Дата 11.1.2010, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Я почитал, что ProcessMessages надо юзать тогда, когда ты выводишь информацию на контролы, но если пользуешь синхронайз, то он нафиг не нужен вообще.
PM MAIL   Вверх
artsb
Дата 11.1.2010, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Из справки:
Цитата

Interrupts the execution of an application so that it can process the message queue.

void __fastcall ProcessMessages(void);

Description

Call ProcessMessages to permit the application to process messages that are currently in the message queue. ProcessMessages cycles the Windows message loop until it is empty, and then returns control to the application.



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ZBugz
Дата 11.1.2010, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Короче убрал я ProcessMessages и Timer. Demo помог. Ошибки почти все пропали. С таймером тяжко все таки в моем случае...
PM MAIL   Вверх
ZBugz
Дата 8.2.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Ну короче новая проблема  smile 
Обрабатываю все в TCopyThread.Destroy
А можно ли в TCopyThread.Destroy обрабатывать визульные компоненты ? Т.е. вызывать там всякие удаление ячеек и т.д. без синхронайз ?

Это сообщение отредактировал(а) ZBugz - 8.2.2010, 17:00
PM MAIL   Вверх
artsb
Дата 8.2.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Цитата(ZBugz @  8.2.2010,  16:55 Найти цитируемый пост)
А можно ли в TCopyThread.Destroy обрабатывать визульные компоненты ?

ИМХО можно, но лучше не нужно.

Цитата(ZBugz @  8.2.2010,  16:55 Найти цитируемый пост)
без синхронайз

конечно же, нет.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.