Новый участник
Сообщения: 22
Благодарности: 0
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
nik1967, а м
Цитата nik1967:
mat_y@vk, пишет, что пытаетесь применить константу "app" прежде, чем она была инициализирована. По русски - пытаешься применить константу "app" до того, как инсталлятор её получит. Это делается на SelectDirPage в function NextButtonClick(CurPageID: Integer): Boolean; »
|
А можно это показать как пишется правильно?
Я вот что-то не пойму... в какое место в таком виде это надо вставить
читать дальше »
Код: 
///////////////////////////////////////Изоображения///////////////////////////////////////////////
procedure InitializeWizard1();
begin
ExtractTemporaryFile('{#FinishImage}');
WizardForm.WizardBitmapImage.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\{#FinishImage}'));
WelcomeLabel:= TLabel.Create(WizardForm);
WelcomeLabel.AutoSize:= False;
with WizardForm.WelcomeLabel2 do
WelcomeLabel.SetBounds(Left-70, Top-30, Width, Height);
WelcomeLabel.Alignment := taCenter;
WelcomeLabel.Font:= WizardForm.WelcomeLabel2.Font
WelcomeLabel.Font.Color:= clWhite;
WelcomeLabel.Font.Size:=12
WelcomeLabel.Transparent:= True;
WelcomeLabel.WordWrap:= true;
WelcomeLabel.Caption:= ExpandConstant('{cm:WelcomeLabel}');
WelcomeLabel.Parent:= WizardForm.WelcomePage
WelcomeLabel.Font.Style:=[fsBold];
FinishedLabel:= TLabel.Create(WizardForm);
FinishedLabel.AutoSize:= False;
with WizardForm.FinishedLabel do
FinishedLabel.SetBounds(Left-70, Top+70, Width, Height);
FinishedLabel.Font:= WizardForm.FinishedLabel.Font
FinishedLabel.Font.Color:= clWhite;
FinishedLabel.Transparent:= True;
FinishedLabel.WordWrap:= true;
FinishedLabel.Caption:=ExpandConstant('{cm:FinishLabel}');
FinishedLabel.Parent:= WizardForm.FinishedPage
FinishedLabel.Font.Style:=[fsBold];
FinishedLabel.Alignment := taCenter;
FinishedLabel.Font.Size:=10;
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.FinishedLabel.Hide;
WizardForm.FinishedHeadingLabel.Hide;
end;
/////////////////////////////////
procedure InitializeWizard2();
begin
WizardForm.MainPanel.Height:=150;
WizardForm.WizardSmallBitmapImage.SetBounds(ScaleX(0), ScaleY(0), WizardForm.MainPanel.Width, WizardForm.MainPanel.Height);
PageNameLabel:= TLabel.Create(WizardForm)
with WizardForm.PageNameLabel do
PageNameLabel.SetBounds(Left, Top+50, Width, Height);
PageNameLabel.Transparent:= True;
PageNameLabel.Font:= WizardForm.PageNameLabel.Font;
PageNameLabel.Font.Color:= clWhite; //цвет надписи
PageNameLabel.Parent:= WizardForm.MainPanel;
WizardForm.PageNameLabel.Hide;
WizardForm.PageDescriptionLabel.Hide;
///////////////////////////////////////Изоображения///////////////////////////////////////////////
WizardForm.ComponentsList.Color:=WizardForm.SelectDirPage.Color
WizardForm.BackButton.Left:=0;
WizardForm.NextButton.Left:=WizardForm.CancelButton.Left+10;
WizardForm.NextButton.Top:=WizardForm.Bevel.Top+5;
WizardForm.NextButton.Height:=40;
WizardForm.BackButton.Top:=WizardForm.Bevel.Top+5;
WizardForm.BackButton.Height:=40;
WizardForm.SelectDirBrowseLabel.Hide;
WizardForm.CancelButton.Height:=40;
WizardForm.CancelButton.Top:=WizardForm.Bevel.Top+5;
WizardForm.CancelButton.Left:=WizardForm.CancelButton.Left+10;
WizardForm.CancelButton.Hide;
WizardForm.SelectDirBitmapImage.Hide
WizardForm.SelectGroupBitmapImage.Hide
WizardForm.SelectDirLabel.Left:=WizardForm.SelectDirBitmapImage.Left
WizardForm.SelectDirLabel.Top:=100
WizardForm.DirEdit.Top:=140
WizardForm.DirBrowseButton.Top:=140
WizardForm.GroupEdit.Top:=140
WizardForm.GroupBrowseButton.Top:=140
WizardForm.SelectComponentsLabel.Hide;
WizardForm.ComponentsDiskSpaceLabel.Hide;
WizardForm.SelectStartMenuFolderBrowseLabel.Hide;
WizardForm.SelectStartMenuFolderLabel.Left:=WizardForm.SelectDirBitmapImage.Left;
WizardForm.SelectStartMenuFolderLabel.Top:=100;
WizardForm.SelectTasksLabel.Hide;
WizardForm.ComponentsList.Top:=100;
WizardForm.ComponentsList.Height:=120;
WizardForm.TasksList.Top:=100;
WizardForm.TasksList.Height:=120;
WizardForm.LicenseMemo.Height:=110;
WizardForm.LicenseMemo.Top:=85;
WizardForm.StatusLabel.Top:=100;
end;
///////////////////////////////////////ISDone////////////////////////
procedure CancelButtonOnClick(Sender: TObject);
begin
SuspendProc;
if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then ISDoneCancel:=1;
ResumeProc;
end;
procedure HideControls;
begin
WizardForm.FileNamelabel.Hide;
ISDoneProgressBar1.Hide;
LabelPct1.Hide;
LabelTime1.Hide;
LabelTime2.Hide;
MyCancelButton.Hide;
end;
procedure CreateControls;
var PBTop:integer;
begin
PBTop:=ScaleY(50);
ISDoneProgressBar1 := TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar1 do begin
Parent := WizardForm;
Height := WizardForm.CancelButton.Height-10
Left := ScaleX(0);
Top := WizardForm.BackButton.Top+5;
Width := ScaleX(405);
Max := 1000;
end;
LabelPct1 := TLabel.Create(WizardForm);
with LabelPct1 do begin
Parent := ISDoneProgressBar1;
AutoSize := True;
Left := 10;
Top := 3;
Font.Size := 14;
Width := ScaleX(80);
Transparent:=True;
end;
LabelTime1 := TLabel.Create(WizardForm);
with LabelTime1 do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := ISDoneProgressBar1.Width div 2;
Left := ScaleX(0);
Top := 200;
end;
LabelTime2 := TLabel.Create(WizardForm);
with LabelTime2 do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := LabelTime1.Width+ScaleX(40);
Left := ISDoneProgressBar1.Width div 2;
Top := LabelTime1.Top;
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
var Comps1,Comps2,Comps3, TmpValue:cardinal;
FindHandle1,ColFiles1,CurIndex1,tmp:integer;
ExecError:boolean;
InFilePath,OutFilePath,OutFileName:PAnsiChar;
begin
if CurStep = ssInstall then begin //Если необходимо, можно поменять на ssPostInstall
WizardForm.ProgressGauge.Height:=30;
WizardForm.ProgressGauge.Top:=150;
WizardForm.CancelButton.Hide;
CreateControls;
WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:Extracted}');
ISDoneCancel:=0;
// Распаковка всех необходимых файлов в папку {tmp}.
ISDoneError:=true;
HideControls;
WizardForm.CancelButton.Visible:=true;
WizardForm.CancelButton.Enabled:=false;
// BtnPanel.Show;
end;
if (CurStep=ssPostInstall) and ISDoneError then begin
Exec2(ExpandConstant('{uninstallexe}'), '/VERYSILENT', false);
end;
end;
/////////////////////////////////////////////ISDone/////////////////////
procedure InitializeWizard();
begin
MyCancelButton:=TNewButton.Create(WizardForm);
with MyCancelButton do begin
Parent:=WizardForm;
Width:=WizardForm.CancelButton.Width;
Caption:='Отмена';
Left:=WizardForm.CancelButton.Left+10;
Height:=40;
Top:=WizardForm.Bevel.Top+5;
OnClick:=@CancelButtonOnClick;
// Необходимо добавлять каждую кнопку расположенную на стекле
// до инициализации стекла для того что бы не было дыр ))
iswin7_add_button(WizardForm.BackButton.Handle);
iswin7_add_button(WizardForm.NextButton.Handle);
iswin7_add_button(WizardForm.CancelButton.Handle);
iswin7_add_button(MyCancelButton.Handle);
// Параметр True не трогать он для htuos ))
iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True);
end;
InitializeWizard1();
InitializeWizard2();
#ifdef ComponentsInfo
InitializeWizard4();
#endif
end;
Procedure CurPageChanged(CurPageID: Integer);
Begin
#ifdef CancelOnWelcome
if CurPageID = wpWelcome then
begin
WizardForm.CancelButton.Left:=0;
end;
if CurPageID = wpsELECTdIR then
begin
WizardForm.CancelButton.Left:=WizardForm.NextButton.Left;
end;
#endif
if CurPageID = wpSelectTasks then
begin
WizardForm.NextButton.Caption:='Установить';
end;
// if CurPageID = wpInstalling then
// begin
// BtnPanel.Hide;
//end;
MyCancelButton.Hide;
if CurPageID = wpInstalling then
begin
MyCancelButton.Show;
end;
|
Последний раз редактировалось mat_y@vk, 30-07-2013 в 12:55.
Отправлено: 12:40, 30-07-2013
| #932
|