Das war es noch, also kann ich mir in Zukunft merken das solche Verschachtelungen nicht machbar sind, gut zu wissen *gg*
Jedoch muss doch das @ vorran stehen und der Name der procedure bleibt wie gehabt, der Code sieht nun so aus:
Delphi-Quellcode:
procedure GPSDirCheckBoxOnClick(Sender: TObject);
begin
if GPSDirCheckBox.Checked then
begin
//GPS-Verzeichnisauswahlfenster
UserDirPageCAE.Add('GPS-Ordner Verzeichnis');
//GPS-Standardpfad in der Verzeichnisauswahl
UserDirPageCAE.Values[1] := ExpandConstant(
'C:\CAE2000\');
end
end;
procedure InitializeWizard;
begin
UserDirPageCAE := CreateInputDirPage(wpSelectDir,
ExpandConstant('{cm:CAEVerzeichnis}'),
ExpandConstant('{cm:SpeicherortPRTDEF}'),
ExpandConstant('{cm:SpeicherzielPRTDEF}'),
false,
'Neuer Ordner');
//CAE-Verzeichnisauswahlfenster
UserDirPageCAE.Add('CAE2000.EXE Verzeichnis');
//CAE-Standardpfad in der Verzeichnisauswahl
UserDirPageCAE.Values[0] := ExpandConstant(
'C:\CAE2000\');
GPSDirCheckBox := TCheckBox.Create(UserDirPageCAE);
with GPSDirCheckBox do //Parameter für die GPS-CheckBox
begin
GPSDirCheckBox.Parent := UserDirPageCAE.Surface;
Caption := ExpandConstant('{cm:GPSVerzeichnis}');
Left := ScaleX(0);
Top := ScaleY(120);
Width := ScaleX(400);
Height := ScaleY(40);
Checked := GPSDirCheckBoxChecked;
OnClick := @GPSDirCheckBoxOnClick;
end;
end;
und er funktioniert auch.
Nur gibt es noch einen Schönheitsfehler den ich mit ner else Schleife wohl entfernen muss:
Wenn man die CheckBox aktiviert wird die Verzeichnisauswahl eingeblendet, entfernt man den Hacken so bleibt die Auswahl, klickt man nun erneut den Hacken an so erscheint noch eine Auswahl.
Von der momentanen Funktion her ja auch vollkommen korrekt.
mit *.Add füge ich die Auswahl ja nun hinzu, jedoch wüsste ich nicht das es ein *.remove oder *.hide Befehl gibt.
Da muss ich mal meinen UMTS stick und Google glühen lassen^^