|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.04.2009, 23:18 | #1 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 26
|
Остановление работы программы.
Когда я запускаю программу она долго выполняет свою работу так как работает с интернетом, как пользователь может её остановить, например надо в какое то время перейти на другую форму а выполнение на этой остановить. Или как в какое то время нажать на кнопку и она остановит работу проги?
|
21.04.2009, 23:26 | #2 |
Пользователь
Регистрация: 09.11.2008
Сообщений: 68
|
исходник... и желательно краткое описание.. самой проги
тоесть как: 1. Если там какой то цикл (если долго работает) то можно перед самим запуском поставить проверку на булеву переменную, и ее же изменять когда можно работать, а когда нет. Примечание: не прерывай работу тела цикла, это может плохо кончится. 2. Если там одна цельная процедура такая долгая, то можно в саму процедуру натыкать проверок на туже переменную, и если надо прерывать, то прерываем. Пример: Код:
|
21.04.2009, 23:34 | #3 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Для начала
Код:
Цитата:
|
|
21.04.2009, 23:42 | #4 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 26
|
Ну вот пример:
Код:
Последний раз редактировалось Stilet; 23.04.2009 в 12:06. |
21.04.2009, 23:50 | #5 | |
Пользователь
Регистрация: 09.11.2008
Сообщений: 68
|
Цитата:
Пример: Код:
- эмм, интересно. А с откуда такая очень интересная информация, что формы работают в разных потоках ? Потому что они таки в разных потоках работают... Если бы они были в одном, то изменение одного параметра влияло бы на все формы. Я вижу Вы на С++ наганяете, а сами таких простых вещей не знаете! Учите С++ Последний раз редактировалось Stilet; 23.04.2009 в 12:07. |
|
22.04.2009, 00:00 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
JamS007, BOBAH13, тут вы оба не правы, все зависит от того КАК появляются другие формы(модальный, НЕмодальный вызов)
а теперь по теме стоит разбить твой код(который долгий) на безопасные куски(то есть если прервать выполнение то ничего страшного не произойдет, или чтобы при прерывании сброс был к примеру) и между ними всунуть проверки... а вообще для таких целей потоки существуют Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.04.2009, 00:02 | #7 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 26
|
Господа если не будете драться даже не ссорьтесь
Да это сработало. Теперь хотелось бы знать можно ли остановить работу нажатием на кнопку.... |
22.04.2009, 00:09 | #8 |
Пользователь
Регистрация: 09.11.2008
Сообщений: 68
|
extrimportal
можно . но тут немного сложней... Весь код следует разбить на участки, но делать это надо аккуратно, чтоб запутаться с переменными и параметрами. Скомпилируй, посмотри ничего ли не пропустил, убедись что код рабочий и правильный. Потом, следует объявить глобальную переменную булевого типа (CanWork: boolean) (если не забыл еще, прогаю в плюсах ). Ну а уже потом, можно между этапами кода выставить проверки типа: // блок 1 if (CanWork = false) then exit /// ... операторы //блок 2 if (CanWork = false) then exit /// ... операторы и т. д. А обработчике нажатия кнопки вписать CanWork = false; |
22.04.2009, 02:38 | #9 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Блин, да засунуть нужные действия в поток и Suspend/Resume/TerminateThread в любой момент.
пыщь
|
22.04.2009, 16:01 | #10 |
Пользователь
Регистрация: 07.04.2009
Сообщений: 26
|
Я простой юзер... Можно примерчик?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посмотреть результаты работы программы | Юрий1982 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 23.11.2008 15:03 |
Ограничение работы программы в delphi | wolf950 | Помощь студентам | 6 | 13.11.2008 21:44 |
Сохранение в файл работы программы | devi409 | Общие вопросы Delphi | 12 | 29.04.2008 08:56 |
Завершение работы чужой программы | Viteef | Win Api | 12 | 24.09.2007 12:31 |
Проверка работы программы... | DimkinStd | Общие вопросы Delphi | 3 | 26.12.2006 13:24 |