Всем привет!
Существует программа для сбора данных с виртуальных приборов, в ней напихано очень много кнопок, индикаторов, SubVI.
Вот принципиальная схема:
В ней существует много Event кейсов. Все свойства обьектов я запихал внутрь Event структуры, снаружи цикла остались тока свойства "visible" и индикаторы.
Возникает проблема: при быстром нажатии на кнопки программа просто зависает(как будто не успевает пробежать весь цикл).
При нажатии на кнопку нужно подождать 1..2 секунды и нажимать другую иначе зависает программа.
Проблема возникает только на рабочем слабом компьютере (уровень пень 3, 512мб оперативы). Дома же такой проблемы не возникает, сколько не пытайся ( core 2 duo, 2Гб оперативы).
Не подскажете, в чем может быть проблема?
И сразу другой вопросик: что нужно прописать в программе при создании EXE файла, чтобы она запускалась потом как "Run continuously", а не просто "Run" ?
Заранее огромное спасибо!
Зависание программы при быстром нажатии на кнопки
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Зависание программы при быстром нажатии на кнопки
1) Может попробовать запихать евенты с обработчиком кнопок в параллельный цикл?
2) Прописывать ничего не надо, надо обрамить тело программы еще одним циклом while.
2) Прописывать ничего не надо, надо обрамить тело программы еще одним циклом while.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
- advanced
- Сообщения: 196
- Зарегистрирован: 01 ноя 2009, 23:18
- Версия LabVIEW: 2010
- Откуда: Москва
- Контактная информация:
Re: Зависание программы при быстром нажатии на кнопки
Что то в этом роде?
2. Второй цикл не помогает, все равно после создания EXE приложения программа запускается на 1 цикл.
1. Теперь пока не нажмешь обе кнопки, индикаторы не загораются, а нужно, чтобы они работали независимо.2. Второй цикл не помогает, все равно после создания EXE приложения программа запускается на 1 цикл.
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Зависание программы при быстром нажатии на кнопки
1. Нет, я имею ввиду сделать обработку кнопок вне основного цикла. Это по должно привести к тому, что операции по обработке кнопок не будут зависеть от процессов в основном цикле и позволит избежать зависаний и запаздываний при срабатывании.
2. Конечно она будет запускаться на один цикл На вход завершения цикла ведь TRUE подаётся А что бы не стопорилось надо False.
2. Конечно она будет запускаться на один цикл На вход завершения цикла ведь TRUE подаётся А что бы не стопорилось надо False.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Зависание программы при быстром нажатии на кнопки
Потому что у тебя на Loop Condition стоит True, поэтому цикл останавливается.
Вообще структура программы жуткая...
Все эвенты я бы собрал в одну Event Structure, один раз запускаемые циклы бы убрал...
Вообще структура программы жуткая...
Все эвенты я бы собрал в одну Event Structure, один раз запускаемые циклы бы убрал...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- advanced
- Сообщения: 196
- Зарегистрирован: 01 ноя 2009, 23:18
- Версия LabVIEW: 2010
- Откуда: Москва
- Контактная информация:
Re: Зависание программы при быстром нажатии на кнопки
Спасибо огромное за подсказки!!! На работе сегодня разобрался, все получилось!!!
Уже ничего не зависает и не запаздывает. Нарадоваться не могу
Уже ничего не зависает и не запаздывает. Нарадоваться не могу
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение