Программирование: CreateExtractionPage

Прототип

function CreateExtractionPage(const ACaption, ADescription: String; const OnExtractionProgress: TOnExtractionProgress): ExtractionWizardPage;

Описание

Выполняет создание страницы для мастера установки, которая позволяет распаковывать архивы 7-Zip и отображать ход выполнения.

Для параметра OnExtractionProgress укажите функцию, которая будет передавать информацию о ходе загрузки, или значение nil, если в этом нет необходимости.

В отличии от других типов страниц мастера установки, страницы с ходом выполнения не отображаются как часть обычной последовательности страниц (обратите внимание на отсутствие параметра AfterID). Страница с ходом выполнения распаковки может быть показана только программно, путём вызова метода Show.

Комментарии

Для активации страницы используйте вызов метода Show. По окончании процесса распаковки используйте вызов Hide, чтобы вернуться на предыдущую страницу.

Вызов метода Hide всегда размещайте внутри блока finally конструкции try..finally, как это показано в примере CodeDownloadFiles.iss. Если не вызвать Hide, то мастер установки навсегда застрянет на странице с ходом выполнения.

Чтобы распаковать новый архив, используйте вызов метода Add. Перед добавлением первого архива всегда вызывайте метод Clear.

Для запуска распаковки вызовите метод Extract. В случае возникновения ошибки будет вызвано исключение. Иначе Extract вернёт количество распакованных архивов.

Установите для свойства ShowArchiveInsteadFile значение True, чтобы показать пользователю имя распаковываемого архива вместо имён файлов, которые находятся внутри архива.

Другие определения TOnExtractionProgress смотрите в разделе Extract7ZipArchive настоящей справки.

Пример

Смотрите файл CodeDownloadFiles.iss с примером страницы CreateDownloadPage, которая во многом похожа на страницу CreateExtractionPage.

См. также:

TExtractionWizardPage
Extract7ZipArchive
CreateOutputProgressPage