Ich habe auch mal n Installer geschrieben und habe es so gemacht.
Du hast ne Variable vom Typ Integer sagen wir iStatus. Dann hab ich GroupBoxen auf der Form gehabt und den Zurueck-Button der so aussehen koennte:
Delphi-Quellcode:
procedure TFrmMain.ZurueckClick(Sender: TObject);
Begin
If (iStatus > 0)
Then
Dec(iStatus);
UpdateGUI;
End;
Die UpdateGUI sieht dann so aus:
Delphi-Quellcode:
Procedure TForm1.UpDateGUI;
Begin
GroupBox_Start.Visible := (iStatus = 0);
GroupBox_Eula.Visible := (iStatus = 1);
GroupBox_InstallPath.Visible := (iStatus = 2);
GroupBox_ProgramGroups.Visible := (iStatus = 3);
GroupBox_InstallationOverview.Visible := (iStatus = 4);
GroupBox_Installation.Visible := (iStatus = 5);
GroupBox_Fertig.Visible := iStatus = 6;
Zurueck.Visible := (iStatus >= 1);
Weiter_Installieren.Enabled := (iStatus <= 4);
If GroupBox_Eula.Visible Then
Begin
Weiter_Installieren.Enabled := False;
Label18.Caption := GetHardDiskSpace + ' GB';
End;
If (iStatus = 3) Then
GetProgramGroupEntries(GetStartMenuPath, Memo1.Lines);
If (iStatus = 4) Then
Begin
Weiter_Installieren.Caption := '&Installieren';
Memo2.Lines.Clear;
Memo2.Lines.Add('Ziel-Ordner:');
Memo2.Lines.Add(' ' + ExcludeTrailingBackSlash(EditInstallPath.Text));
Memo2.Lines.Add(' ');
Memo2.Lines.Add('Startmenü-Ordner:');
Memo2.Lines.Add(' ' + Edit1.Text);
End
Else
Weiter_Installieren.Caption := '&Weiter >';
Zurueck.Enabled := (iStatus > 0);
If RadioButton1.Checked Then
Weiter_Installieren.Enabled := True;
If (iStatus = 5) Then
Begin
Zurueck.Enabled := False;
Weiter_Installieren.Enabled := False;
Abbrechen.Enabled := False;
InstallProgramFiles;
End;
If iStatus = 6 Then
Begin
Zurueck.Enabled := False;
Weiter_Installieren.Caption := '&Beenden';
Abbrechen.Enabled := False;
End;
End;
Vlt. hilft dir die Anregung ja!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)