2011-09-08 8 views
5

Chciałbym wyłączyć lub ukryć jeden z wybranych składników w czasie wykonywania. Stworzyłem niestandardową stronę kreatora za pomocą dwóch przycisków opcji. Jeśli pierwszy przycisk opcji jest zaznaczony, chciałbym, aby jeden z komponentów (CustomInstall) nie pojawiał się lub przynajmniej był wyłączony.Inno Setup: Ukryj/wyłącz komponent w czasie wykonywania

Oczywiście, strona niestandardowa przed stronie Components.

Próbowałem to zrobić z czekiem: parametr, ale wydaje się, że [Components] sekcja jest oceniana przy starcie, a nie wtedy, gdy wyświetlana jest strona.

Tak więc moją następną myślą było dodanie kodu do mojego CurPageChanged(), aby móc usunąć lub wyłączyć element z CheckListBox (który, jak mi się wydaje, nazywa się ComopnentsList), ale nie mogę znaleźć żadnej dokumentacji na temat TNewCheckListBox.

Czy ktoś wie więcej o tej klasie? Czy to, co myślę, działa?

Odpowiedz

9

Oto, co skończyło się robi:

if CurPageID=wpSelectComponents then 
begin 
    if ExtraOptionAvailable() then 
    begin 
    Wizardform.ComponentsList.Checked[6] := true; 
    Wizardform.ComponentsList.ItemEnabled[6] := true; 
    end else begin 
    Wizardform.ComponentsList.Checked[6] := false; 
    Wizardform.ComponentsList.ItemEnabled[6] := false; 
    end; 
end; 

Przeszukiwanie grup dyskusyjnych Inno Setup w http://www.jrsoftware.org/newsgroups.php był bardzo pomocny.