Вниз
Скачать: CL | DM;

Подождать нажатие кнопки   Найти похожие ветки 

 
sdw_syscoder   (2004-08-17 16:06) [0]

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

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

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


 
Rouse_ ©   (2004-08-17 16:17) [1]

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


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

Смысл ЕСТЬ!


 
TUser ©   (2004-08-17 16:23) [3]

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


 
Rouse_ ©   (2004-08-17 16:24) [4]

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


 
Rouse_ ©   (2004-08-17 16:29) [5]

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


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

MsgWaitForMultipleObjects


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

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

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

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

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


 
Ega23 ©   (2004-08-17 16:55) [8]

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

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


 
Ega23 ©   (2004-08-17 16:55) [9]

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

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


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


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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
14-1092920078
syte_ser78
2004-08-19 16:54
2004.09.05
Кто готво сделать один щелчок мыщью за спасибо?


3-1091954696
Bee
2004-08-08 12:44
2004.09.05
SQL. Агрегатные функции


8-1087162602
Ivanov
2004-06-14 01:36
2004.09.05
Звук в программе


14-1092570661
GanibalLector
2004-08-15 15:51
2004.09.05
Оса укусила прямо в глаз


3-1092298282
REA
2004-08-12 12:11
2004.09.05
IBX 7.08




   Наверх