Прошу помощи, есть кусок кода - который должен отображать форму во время копирования файлов во временную папку. Проблема в том, что форма полностью отрисовывается только после копирования файлов. Можно ли это исправить?
[more=Код]
// [TEMPER v1.0]
[Files]
Source: Graphics\Images\1.ico; Flags: dontcopy
[Code]
var
TemperForm: TSetupForm;
TemperLabel: TLabel;
TemperIcon: TNewIconImage;
function RunTemper(): Boolean; // Копирование файлов во временную папку.
begin
ExtractTemporaryFile('1.ico');
TemperForm:= CreateCustomForm;
with TemperForm do begin
Width:= 340;
Height:= 90;
BorderIcons:= [];
BorderStyle:=bsNone;
Position:= poScreenCenter;
Color:= clSilver;
Visible:= True;
end;
TemperIcon:= TNewIconImage.Create(TemperForm);
with TemperIcon do begin
Parent := TemperForm;
SetBounds(ScaleX(5),ScaleY(20),ScaleX(48),ScaleY(48));
Icon.LoadFromFile(ExpandConstant('{tmp}\1.ico'));
Visible:= True;
end;
TemperLabel:= TLabel.Create(TemperForm);
with TemperLabel do begin
Parent:= TemperForm;
Top:= 30;
Left:= 60;
Height:= 20;
AutoSize:= True;
Transparent:=True;
Caption:= 'Инициализация SJW Install Wizard...'
Font.Color := clBlack;
Font.Size:= 12;
Visible:= True;
end;
#ifdef Video
if not FileExists(ExpandConstant('{tmp}\Video.avi')) then ExtractTemporaryFile('Video.avi');
#endif
#ifdef AutorunModul
if not FileExists(ExpandConstant('{tmp}\autorun.jpg')) then ExtractTemporaryFile('autorun.jpg');
#endif
#ifdef SlideShowModul
#else
if not FileExists(ExpandConstant('{tmp}\background.jpg')) then ExtractTemporaryFile('background.jpg');
#endif
MsgBox('пауза', mbInformation, MB_OK); // этот MsgBox мне нужен только для остановки процесса, во время тестирования
TemperForm.Free;
end;
end;
[/more]
Добавлено: alexandrevil Цитата: для мод паков с определением директории установки.
Не знаю о ком идёт речь, но определение директории берётся из реестра. Но не стоит пологатся целиком на реестр, так как пользователь легко может переместить папку в другое место. Нужно сделать проверку. Если указанный в реестре путь существует физически, то взять этот путь для установки мода, если нет - то показать кнопку Обзор и пусть пользователь сам ищет путь к папке которую переместил.
Думаю на форуме найдутся подобные примеры, поищите. Если не найдёте, обращайтесь постораюсь написать пример.