|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Работа С Потоками |
|
Delphi - Работа С Потоками
|
В Поисках Истины Сообщения: 802 |
Профиль | Отправить PM | Цитировать Здравствуйте...Меня интересует вот такой вопрос: Есть 2 потока... Первый запускается после клика на кнопочке, а второй должен запуститься сразу после ЗАВЕРШЕНИя первого! WaitFor - не устраивает так как он полностью блокирует форму(во время работы потока может понадобится работа с формой)! объясните пожалуйста как сделать, если можно с примерчиком
|
|
Отправлено: 11:13, 02-06-2010 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать LilLoco, тебе как срочно?
У нас лаба была по мультипотокам, но она в архиве. До него надо бы добраться, но когда у меня будет "окно" я не знаю. Попробую в ближайшее время (условно неделя). |
------- Отправлено: 12:27, 02-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать lxa85, Подожду конечно, заранее спасибо
|
------- Отправлено: 13:09, 02-06-2010 | #3 |
Старожил Сообщения: 232
|
Профиль | Сайт | Отправить PM | Цитировать А если создать 3 поток в котором будет находится WaitFor и после его завершения в этом же потоке вызовется нужный?
|
------- Отправлено: 13:22, 02-06-2010 | #4 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать LilLoco,
1. из потока при завершении запускайте следующий 2. Из основного потока по таймеру проверяем не завершился ли поток и стартуем стлудеющий |
|
------- Отправлено: 18:55, 02-06-2010 | #5 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Всем Спасибо За Советы, буду завтра пробовать
|
------- Отправлено: 20:07, 02-06-2010 | #6 |
Ветеран Сообщения: 727
|
Профиль | Отправить PM | Цитировать LilLoco,
неужель не догадались сами? логика: самый простой пример var b: boolean; procedure Form.OnCreate; begin Timer.Interval:= 100; Timer1.enabled:= true; b:= false; end; procedure ButtonClick; begin Thread1.Create; end; procedure Timer.OnTimer; begin if b = True then begin Thread2.Create; Timer1.enabled:= false; end; end; procedure Thread1; begin ... ... ... ... b:= true; end; procedure Thread2; begin ... ... b:= false end; надеючь у вас Delphi World скачан..? |
------- Отправлено: 20:19, 02-06-2010 | #7 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Спасибо за пример
Цитата zonderz:
|
|
------- Отправлено: 22:12, 02-06-2010 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Работа с com портом | storm2005 | Скриптовые языки администрирования Windows | 4 | 10-04-2009 12:05 | |
Работа БП | Surround | Хочу все знать | 5 | 05-03-2006 21:40 | |
работа с записями в БД | vagner_HATE | Вебмастеру | 8 | 01-11-2005 15:35 | |
Работа в Excel | Evita | Хочу все знать | 3 | 06-05-2004 00:24 | |
Работа ХР с CD | LamerOK | Microsoft Windows 2000/XP | 8 | 17-04-2004 23:51 |
|