Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Можно ли ка-то прервать выполнение скомпилированной программки? (VB portable)

248
04 мая 2011 года
Dmitry2064
590 / / 06.12.2006
В VBA я нажимаю ctrl-break. А если программка уже в виде exe-файла, то ctrl-break не помогает и приходится снимать ее из таск_манагера. Есть ли возможность делать это более красиво?

P.s. программка мониторит наличие файлов, и копирует, когда некоторый файл появляется в исходной директории в целевую. Но знаю неизвестно, сколько будет файлов. И надо бы после сигнала, что больше ничего не будет, этот "монитор" остановить.

P.s. а как можно уменьшить нагрузку на ЦП? А то вся машина тормозится, пока оно "мониторится".
277
04 мая 2011 года
arrjj
1.7K / / 26.01.2011
В цикл вставь паузы и Application.DoEvents (вроде так в VB)
278
04 мая 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: Dmitry2064
программка мониторит наличие файлов, и копирует, когда некоторый файл появляется в исходной директории в целевую.



Если правильно понял вашу задачу, посмотрите в сторону той же ReadDirectoryChangesW(). Принципиально не завешивает процессор.

248
04 мая 2011 года
Dmitry2064
590 / / 06.12.2006
Цитата: arrjj
В цикл вставь паузы и Application.DoEvents (вроде так в VB)



DoEvents во время паузы - и все ОК (нашел где-то здесь примерчик "ожидалки"). Спасибо.

P.S. Правда, теперь задача остатся в таскманагере. Хотя для кнопки "отмена" я написал Unload me. Т.е. по кнопке "Старт" начинается цикл ожидания с DoEvents внутри 20-секундной паузы. И пока пауза, я нажимаю "Отмена" и форма вроде пропадает. А оказывается, она осталась. Или с DoEvents надо иначе выгружаться?

248
05 мая 2011 года
Dmitry2064
590 / / 06.12.2006
На др. компе вроде все работает как надо. ОК. Спасибо за помощь!
33K
08 мая 2011 года
iprog
60 / / 26.01.2010
Unload Me никак не связано с DoEvents.
Чтобы полностью выгрузить программу, используйте End.

Кнопку Отмена можно нажать в любое время цикла, просто она может сработать не сразу.
405
10 мая 2011 года
Dmitrii
554 / / 16.12.2004
Цитата: Dmitry2064
... как можно уменьшить нагрузку на ЦП? А то вся машина тормозится, пока оно "мониторится".

Как именно выполняется мониторинг?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог