Вниз
Скачать: 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
1-1092847643
Aleksandr.
2004-08-18 20:47
2004.09.05
Как указатель превратить в строку?


3-1092189437
Андрей_К
2004-08-11 05:57
2004.09.05
как выбрать с помощью SQL по номер записи из другой базы


1-1093025592
shc
2004-08-20 22:13
2004.09.05
Копирование значений в динамический массив


1-1092860702
Maker
2004-08-19 00:25
2004.09.05
MDI + Docking


4-1090459452
Алексей
2004-07-22 05:24
2004.09.05
запустить консольное приложение из программы




   Наверх