Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подождать нажатие кнопки


sdw_syscoder ©   (2004-08-17 16:06:00) 

Как получше забацать ожидание нажатия кнопки. А то я забабахал по-деревенски вот эндак:

 // ждем, пока не нажмут СТАРТ
 repeat
 if TransmitForm.FLAG = 1 then break;
 until TransmitForm.FLAG = 1;

... а сделать как положено -  не знаю как.
Кстати, через WaitForSingleObject можно? Всё равно нажатие надо ждать в потоке. Если можно, то что нужно указать в качестве пар-ра hHandle?


s999   (2004-08-17 18:03:00) [1]


> Укажи nil, если не знаешь! Или Application.Handle. Или Твой_Button.Handle
> Вариантов - тьма!


Не морочь парню голову. В данном случае нужен Handle процесса. Пример для поставленной задачи:

XXX := OpenProcess(SYNCHRONIZE, LongBool(False), GetCurrentProcessId);
AAA := MsgWaitForMultipleObjects(1, XXX, LongBool(False), INFINITE, QS_KEY);


Ega23   (2004-08-17 16:55:00) [2]

Впрочем, что же нужно указать в качестве хэндла(никак не пойму её назначение)?

Укажи nil, если не знаешь! Или Application.Handle. Или Твой_Button.Handle
Вариантов - тьма!


Ega23   (2004-08-17 16:55:00) [3]

Впрочем, что же нужно указать в качестве хэндла(никак не пойму её назначение)?

Укажи nil, если не знаешь! Или Application.Handle. Или Твой_Button.Handle
Вариантов - тьма!


sdw_syscoder   (2004-08-17 16:49:00) [4]

> TUser ©   (17.08.04 16:23) [3]
> Rouse_ ©   (17.08.04 16:29) [5]

Дело в том, что в onClick у меня запускается поток, выполняются некие действия, а затем надо ждать нажатие кнопки.

> s999   (17.08.04 16:31) [6]
Нечаго, тоже крутая функция... ща поюзаем. Thank you!

Впрочем, что же нужно указать в качестве хэндла(никак не пойму её назначение)?


s999   (2004-08-17 16:31:00) [5]

MsgWaitForMultipleObjects


Rouse_   (2004-08-17 16:29:00) [6]

Просто к чему я веду, зачем ждать нажатия кнопки когда вполне возможно выполнить некий код в самом обработчике? (Ну смотря как там у тебя логика сделана)


Rouse_   (2004-08-17 16:24:00) [7]

> [2] sdw_syscoder   (17.08.04 16:21)
Ты не врубился, если код который ждет находится в потоке, то подойдет как WaitForSingleObject так и другие варианты синхронизации, вплоть до тупого поднятия флага :)


TUser   (2004-08-17 16:23:00) [8]

А повесь на OnClick баттона нужный код, и все.


sdw_syscoder   (2004-08-17 16:21:00) [9]

Смысл ЕСТЬ!


Rouse_   (2004-08-17 16:17:00) [10]

А смысл операции?


Наверх

Титульная страница Поиск, карта сайта Написать письмо