zip-файл Дельфи в потоке (использующий TZipMaster)

Я хочу архивировать файл в потоке с помощью компонента TZipMaster. Проблема, когда я запускаю программу от IDE, я получаю ошибку (от окон)

"программа больше не отвечает.-> Поиск онлайн решения-> Близкая программа"

(или что-то как этот я не знаю точное сообщение на английском языке.."

Однако zip-файлы создаются успешно. Последний вывод отладчика от Delphi 2009:

разгрузите модуль: DelZIp179.dll

Когда я выполняю .exe непосредственно, это, кажется, хорошо работает, и я не получаю эту ошибку. Однако я не уверен, могу ли я просто проигнорировать эту ошибку, или лучше зафиксировать его?

Спасибо за Вас ответы!

1
задан gonzales 28 July 2010 в 11:19
поделиться

1 ответ

Вы получаете эту ошибку, потому что ваше приложение выполняет тяжелую обработку (архивирование) в основном потоке и не обрабатывает сообщения Windows.

Лучше исправить это - нужно либо обрабатывать сообщения Windows во время архивирования (если TZipMaster поддерживает это), либо переносить архивирование в фоновый поток.

Подробнее: Я проверил исходный код TZipMaster и обнаружил событие OnTick, которое периодически вызывается.

Напишите обработчик события OnTick и вызовите Application.ProcessMessages изнутри. Это должно устранить вашу проблему.

2
ответ дан 2 September 2019 в 22:39
поделиться
Другие вопросы по тегам:

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