|
40 / 3 / 1
Регистрация: 24.11.2012
Сообщений: 261
|
||||||
Можно-ли получить значение таймера из WatForSingleObject ?11.03.2017, 19:53. Показов 1056. Ответов 12
Метки нет (Все метки)
Попробую пояснить, столь сумбурный заголовок темы.
У меня такой кусок кода (для простоты вопроса сократил лишнее).
0
|
||||||
| 11.03.2017, 19:53 | |
|
Ответы с готовыми решениями:
12
Как можно получить значение [price]? Как можно получить значение ячейки DataGridveiw |
|
Джоуи
|
||||||
| 11.03.2017, 20:29 | ||||||
|
Kuzya69, не нашел, можно ли это узнать. На случай, если никто не ответит на вопрос, скромно предположу (как вариант):
// считываем системное время wEv:= WaitForSingleObject(hObj, timeout); // опять считываем системное время - разница между ними и есть прошедшее время таймера. Правда на таких мелких скоростях, как 100 мс, обращение к системному времени тоже может занять значительное время. Опишу как я сделал. Обычная TimeToStr не возвращает миллисекунды, поэтому использую uses Windows, и винАПИ функцию GetLocalTime:
Но это так, грубый вариант на крайний случай. Прямого решения проблемы я не нашел
0
|
||||||
|
40 / 3 / 1
Регистрация: 24.11.2012
Сообщений: 261
|
|
| 11.03.2017, 20:35 [ТС] | |
|
Примерно таким образом я и сделал, только использовал QueryPerformanceCounter и QueryPerformanceFrequency. Но некрасиво, как-то. Хочется какой-нибудь АПИ готовой сделать.
0
|
|
|
139 / 137 / 66
Регистрация: 15.05.2012
Сообщений: 516
|
||
| 12.03.2017, 01:17 | ||
|
дойдя до WaitForSingleObject управление передаётся хэндлу потока/мьютекса и т.д. на определённое время (которое вы установили вторым параметром) при этом текущий поток приостанавливается.
0
|
||
|
40 / 3 / 1
Регистрация: 24.11.2012
Сообщений: 261
|
|||
| 12.03.2017, 01:27 [ТС] | |||
|
У меня подобный "костыль" но с другими АПИ работает, но это мне совсем не нравится.
0
|
|||
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
|
|
| 12.03.2017, 02:29 | |
|
0
|
|
|
40 / 3 / 1
Регистрация: 24.11.2012
Сообщений: 261
|
|
| 12.03.2017, 02:37 [ТС] | |
|
Что-бы не отсчитывать заданный таймаут заново, а досчитать до конца.
Ну что-то отсчитывает таймаут при выполнении оператора: wEv:= WaitForSingleObject(hObj, timeout); Вот я для простоты и назвал его таймером.
0
|
|
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
|
|
| 12.03.2017, 03:09 | |
|
Тогда ещё раз зачем? Зачем в смысле нафига это нужно?
0
|
|
|
Ушел с форума
|
|
| 12.03.2017, 10:36 | |
|
Kuzya69, а может, тебе больше подойдет CreateWaitableTimer/SetWaitableTimer (WinAPI)?
Например, можно сделать periodic timer, который будет переходить в сигнальное состояние каждые N секунд/миллисекунд. Т.е. в этом случае не нужно будет самому считывать показания системного времени и вычислять, сколько времени прошло.
0
|
|
|
40 / 3 / 1
Регистрация: 24.11.2012
Сообщений: 261
|
|
| 12.03.2017, 12:51 [ТС] | |
|
Тут смысл такой, я поставил event на появление в буфере приема устройства любых байт, отправил в устройство (в буфер передачи) запрос, и жду ответ. Если ответ пришел быстрее, чем отведенное для этого время (tmeout), то я проверяю ответ на правильность, если неверный, то продолжаю ждать по таймеру, ну а если верный, то обрабатываю. И соответственно не забываю про возможные ошибки. Ну а если таймер сработал, и ответа нет, то занимаюсь другими вычислениями.
0
|
|
| 12.03.2017, 14:44 | |
|
0
|
|
| 12.03.2017, 14:44 | |
|
Помогаю со студенческими работами здесь
13
Можно ли получить значение элемента кортежа полученного с помощью make_tuple
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|