
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.09.2006, 12:26
|
|||
|---|---|---|---|
|
|||
Остановка выполнения цикла по кнопке |
|||
|
#18+
Подскажите, как произвести остановку выполнения цикла по нажатию кнопки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.09.2006, 12:27
|
|||
|---|---|---|---|
|
|||
Остановка выполнения цикла по кнопке |
|||
|
#18+
Notfrom N> Подскажите, как произвести остановку выполнения цикла по N> нажатию кнопки? Это в форум по дельфи -- PS: Altera manu fert lapidem, panem ostentat altera Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.09.2006, 17:57
|
|||
|---|---|---|---|
Остановка выполнения цикла по кнопке |
|||
|
#18+
Цикл нужно запустить в рабочей нити приложения или время от времени опрашивать очередь сообщений. По нажатию кнопки нужно устанавливать значение некоторой глобальной переменной с модификатором volatile. В цикле нужно регулярно проверять значение этой переменной и завершать цикл, когда её значение обозначит нажатие кнопки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2006, 08:21
|
|||
|---|---|---|---|
|
|||
Остановка выполнения цикла по кнопке |
|||
|
#18+
Да, в Дельфи мне подсказали использовать ProcessMessages. А вот про volatiles я не понял. Для чего это, вроде работает и так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2006, 12:12
|
|||
|---|---|---|---|
Остановка выполнения цикла по кнопке |
|||
|
#18+
для пущей подстраховки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2006, 10:50
|
|||
|---|---|---|---|
|
|||
Остановка выполнения цикла по кнопке |
|||
|
#18+
Посмотрите функции _beginthreadex(...), WaitForSingleObject(...), и топики про события и критические секции, синхронизацию и пр, примеры по этому поводу, пример стандартной процедуры запуска рабочего потока, его синхронизации и остановки рабочего потока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2006, 20:21
|
|||
|---|---|---|---|
Остановка выполнения цикла по кнопке |
|||
|
#18+
NotfromДа, в Дельфи мне подсказали использовать ProcessMessages. А вот про volatiles я не понял. Для чего это, вроде работает и так? Оптимизатор C++ может на время выполнения процедуры разместить автоматическую переменную в регисте микропроцессора, тогда оператор Код: plaintext будет обращаться не к области памяти переменной flag, а к регистру. Или вообще, сочтёт, что раз переменная flag в цикле не меняется, то её проверку можно делать только один раз до выполнения цикла. volatile указывает компилятору, что значение переменной может измениться за пределами текущей функции, поэтому его нельзя кэшировать в регистрах и т.п.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2006, 09:04
|
|||
|---|---|---|---|
|
|||
Остановка выполнения цикла по кнопке |
|||
|
#18+
GetAsyncKeyState This function determines whether a key is up or down at the time the function is called, and whether the key was pressed after a previous call to GetAsyncKeyState. SHORT GetAsyncKeyState( int vKey ); Parameters vKey [in] Specifies one of 256 possible virtual-key codes. For more information, see Virtual-Key Codes. You can use left- and right-distinguishing constants to specify certain keys. For more information about constants, see Remarks. Return Values If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down. The least significant bit is not valid in Windows CE, and should be ignored. GetAsyncKeyState returns the current key state even if a window in another thread or process currently has the keyboard focus. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&tablet=1&tid=2030470]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 449ms |

| 0 / 0 |
