Вниз
Скачать: 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.024 c
4-1089879356
Unknown Mystic
2004-07-15 12:15
2004.09.05
Как выполнить другую программу и получить код возврата?


3-1092219346
Алексей
2004-08-11 14:15
2004.09.05
Подключение программы к запароленным таблицам


1-1092774753
Quest
2004-08-18 00:32
2004.09.05
зависает поток


14-1092621406
Думкин
2004-08-16 05:56
2004.09.05
С днем рождения! 16 августа


14-1091358962
Real
2004-08-01 15:16
2004.09.05
Влияние гороскопа на выбор профессии




   Наверх