|
4 / 4 / 0
Регистрация: 21.04.2012
Сообщений: 132
|
||||||||||||||||
Как приостановить работу программы на момент выполнения определенного кода31.08.2012, 20:53. Показов 15214. Ответов 11
Метки нет (Все метки)
день добрый,
у меня есть некоторый код, в определенном месте которого, я должен ждать пока переменная order_id, не поменяет свое значение. как только данная переменная изменится - двигаемся дальше. для этого я использую таймер. вот код:
мне нужно сделать, что бы когда я вызываю таймер, то сначала он отработал - дождался нового значения orderid и после этого программа продолжилась бы выполняться с этого же места, там где я вызывал таймер. подскажите, как быть? борис
0
|
||||||||||||||||
| 31.08.2012, 20:53 | |
|
Ответы с готовыми решениями:
11
Как приостановить работу программы, до нажатия кнопки?
Приостановить работу сторонней программы |
|
4 / 4 / 0
Регистрация: 21.04.2012
Сообщений: 132
|
|
| 31.08.2012, 21:42 [ТС] | |
|
хм. а, как их прикрутить к моей задачи? я пока еще не мегамонстр программинга
0
|
|
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
|
| 31.08.2012, 23:18 | |
|
Легко. Вешаете событие на переменную изменение которой надо отслеживать. Как только она изменяется - в событии выполняете все необходимые проверки и действия. И ненужно процессор впустую гонять таймером
0
|
|
|
Master of Orion
|
||||||
| 01.09.2012, 01:49 | ||||||
|
slinger, вот простенький пример:
3
|
||||||
|
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
|
|
| 03.09.2012, 10:31 | |
|
событие не то что проще... просто таймер вообще не из этой области. Его для этих целей использовать вообще нельзя т.к. он создает новый поток, который будет выполняться параллельно основному коду. Он не предназначен для остановки программы до определённого момента, а для выполнения каких-либо действий, пока одновременно с этим выполняются другие
0
|
|
|
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
|
|
| 03.09.2012, 11:02 | |
|
http://msdn.microsoft.com/ru-r... event.aspx
Для приостановки потока на момент выполнения другого кода можно это покурить
0
|
|
|
4 / 4 / 0
Регистрация: 21.04.2012
Сообщений: 132
|
|||||||||||
| 03.09.2012, 11:54 [ТС] | |||||||||||
|
всем большое спасибо за ответы.
дело в том, что переменную order_id, я уже получаю в событии, которое наступает, как раз в тот момент, когда переменная order_id меняется (выходит новая). имеет ли смысл прикручивать еще одно событие? мне мажется - нужно просто ждать. то есть в заданном месте программы, нужно как бы притормозить и дождаться, когда событие пришлет переменную orderid. а, то что таймер создает еще один поток - это я уже понял из практики. вот событие:
борис
0
|
|||||||||||
|
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
|
|||||||||||
| 03.09.2012, 13:05 | |||||||||||
|
http://msdn.microsoft.com/ru-r... event.aspx
Будет работать, только если событие обрабатывается а значение обновляется в РАЗНЫХ потоках. Иначе поток подвиснет
1
|
|||||||||||
|
4 / 4 / 0
Регистрация: 21.04.2012
Сообщений: 132
|
||||||||||||||||
| 03.09.2012, 21:44 [ТС] | ||||||||||||||||
|
2mikhail_g
Сделал, так как вы говорите - все заработало! ура! большое спасибо! Завел дескриптор ожидания
теперь следующий вопрос: а, как тоже самое сделать, только ожидать необходимо изменения содержания массива? или лучше отдельной темой расписать?
0
|
||||||||||||||||
|
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
|
|
| 04.09.2012, 10:48 | |
|
Суть проблемы не ясна. Если проблема в том, что нужно дождаться обновления элемента массива, то заведите не массив а коллекцию типа ObservableCollection, и подпишитесь на событие коллекции CollectionChanged. Это событие сигнал о том, что коллекция изменилась.
Если надо так же от сервера дождаться ответа, сделайте по аналогии с предыдущим решением
0
|
|
| 04.09.2012, 10:48 | |
|
Помогаю со студенческими работами здесь
12
Как организовать выход из циклической графической программы в любой момент ее выполнения?
Как приостановить работу стороннего приложения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|