Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2010, 00:01   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
Смех Пауза/продолжить поток TThread одной кнопкой

Привет всем!
Как сделать так чтобы одной кнопкой можно было продолжать, приостанавливать работу потока?

Моя догадка такова:
У меня есть поток TThread имя UpdThr.
Код:
Procedure SomeObjectClick;
var
  UpdThr:TSomeThread;
begin
If not (UpdThr = nil) then
begin
case UpdThr.Suspended of
True: UpdThread.suspend;
False: UpdThr.Resume;
end;
так возможно приостанавливать или продолжать работу потока TSomeThread используя процедуру SomeObjectClick в обработчике одной кнопки "Пауза/продолжить"?
Человек_Борща вне форума Ответить с цитированием
Старый 29.10.2010, 00:15   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

UpdThr должен быть глобальной переменной. Т.е. где-то создали его
UpdThr:=TThread.Create;
А потом в кнопке:
Код:
Procedure SomeObjectClick;
If not (UpdThr = nil) then
begin
   case UpdThr.Suspended of
      True: UpdThread.suspend;
      False: UpdThr.Resume;
end;
TwiX вне форума Ответить с цитированием
Старый 29.10.2010, 00:42   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Значит я думал в верном направлении! Спасибо за подсказку! и +

Вопрос решён!
Человек_Борща вне форума Ответить с цитированием
Старый 29.10.2010, 00:55   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так проще
Цитата:
If not (UpdThr = nil) then UpdThr.Suspended:=not UpdThr.Suspended;
свойство само разберется
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление сводных таблиц одной кнопкой! masterenergy Microsoft Office Excel 6 02.01.2015 16:32
Если остановился поток (TThread). Как перезапустить без потери памяти Zuzlan Общие вопросы Delphi 9 01.02.2011 13:57
Как оповестить основной поток о каком-то событии в потоке (TThread)? TwiX Общие вопросы Delphi 2 11.02.2010 02:57
Отобразить рабочий поток (TThread) NervniiJ Общие вопросы Delphi 0 10.01.2010 17:34
задать печать одной кнопкой, но сразу нужное кол-во копий Kisunya2104 Microsoft Office Excel 1 09.08.2007 22:07