powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ответ программы на запросы пользователя
6 сообщений из 6, страница 1 из 1
Ответ программы на запросы пользователя
    #34815468
yncas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Написал ресурсоемкое приложение выполняющее преобразование файлов из директории. В которой ну очень много файлов. При этом программа помещает в оперативную память просмотренные записи. Просматривая следующую запись, она проверяет на возможность дублирования этой записи. ...

Вопрос следующий. Как можно предусмотреть возможность остановки упомянутого процесса. Просто добавить кнопочку, которая при нажатии на неё меняет значение некоторой переменной (которую постоянно проверяет выполняющийся код программы) не получается. Приложение при запуске описанного процесса как бы вешается, то есть не отвечает на запросы пока не выполнит вышеупомянутые действия. Подскажите, пожалуйста, как быть?
Так же хочется, что бы окно программы не зависало.
...
Рейтинг: 0 / 0
Ответ программы на запросы пользователя
    #34815503
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следует почитать по теме "Многопоточное программирование"
Обработчик основной задачи должен работать в одном потоке.
формочка с кнопкой "Отмена" в другом.
...
Рейтинг: 0 / 0
Ответ программы на запросы пользователя
    #34815510
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создавать вторичную нить и запускать свою тяжелую задачу в ней. А основную нить оставить для ГУЯ.
Читать про функции CreateThread, TerminateThread, ExitThread.
...
Рейтинг: 0 / 0
Ответ программы на запросы пользователя
    #34815537
yncas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vanoman, White Owl, cпасибо!
...
Рейтинг: 0 / 0
Ответ программы на запросы пользователя
    #34816421
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, но как быть если надо его ОСТАНОВИТЬ! например псевдо-код потока обрабатывающего чего-то-там

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
while( 0 )
{
...
...
// делаем необходимое
...
...
Sleep  36000000 ; целый_час_или_больше
// как быть здесь??
}
--------------------------------------------------------------
[не претендую на уникальность]
...
Рейтинг: 0 / 0
Ответ программы на запросы пользователя
    #34816563
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yncas
Вопрос следующий. Как можно предусмотреть возможность остановки упомянутого процесса. Просто добавить кнопочку, которая при нажатии на неё меняет значение некоторой переменной (которую постоянно проверяет выполняющийся код программы) не получается.


Чтобы приложение реагировало на изменяемую переменную,
нужно в цикле, где эта переменная проверяется
(и вообще во всех критических местах) ставить вызов
Application->ProcessMessages();
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ответ программы на запросы пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]