GoldenEagle88
@GoldenEagle88

Как убрать зависание при сохранении большего файла txt Delphi?

В мемо парсится информация с сайта , бывает по 10-20к строк и при нажатии на сохранить софт зависает ,как избежать?!
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 3
@patch1
Я Экстрасенс высокого уровня, мои ведения говорят о том что вы парсите в Мемо с основного потока, а надо создать дочерний поток который будет парсить все что вы захотите в Memo.
Ссылка , аналогично и с записью в txt файл, делаете запись в отдельном потоке, по окончанию пусть выскакивает сообщение "Запись окончена" ну или прогресс бар можете реализовать который показывает текущий прогресс записи в файл. Всё в твоих силах юный подаван.
Ответ написан
Комментировать
AnnTHony
@AnnTHony
Интроверт
Напишите в тех. поддержку гугла чтобы вас разбанили.
Метод Application.ProcessMessages
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Вариантов много, какой-то да и подойдёт.
1. Просто и грязно. Периодически делать Application.ProcessMessages. Сделать, чтобы во время работы ни одна кнопка не срабатывала.
2. Лучше подходит для законченного продукта. Наладить поток. Внимание, сеть в основном потоке в принципе нехорошее дело, если она там есть — айда пиши второй!
3. Оптимизировать алгоритм.
4. Избавиться от левых перерисовок. Гугли сообщение WM_SETREDRAW. Не забудь в конце Invalidate.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы