2011-09-08 11 views
5

Me gustaría deshabilitar u ocultar una de las opciones de componentes en tiempo de ejecución. Creé una página de asistente personalizada con dos botones de opción. Si se selecciona el primer botón de opción, me gustaría que uno de los componentes (CustomInstall) no aparezca, o al menos se deshabilite.Inno Setup: Ocultar/Deshabilitar Componente en tiempo de ejecución

Por supuesto, la página personalizada aparece antes de la página Componentes.

He intentado hacer esto con un parámetro Comprobar: pero parece que la sección [Componentes] se evalúa al inicio y no cuando se muestra la página.

Así que mi siguiente pensamiento fue para añadir algo de código a mi CurPageChanged() para que pudiera quitar o deshabilitar el elemento de la CheckListBox (que creo que se llama ComopnentsList), pero no puedo encontrar ninguna documentación sobre TNewCheckListBox.

¿Alguien sabe más acerca de esta clase? ¿Funcionará lo que estoy pensando?

Respuesta

9

Esto es lo que terminé haciendo:

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; 

Buscando los grupos de noticias de Inno Setup en http://www.jrsoftware.org/newsgroups.php era muy útil.

Cuestiones relacionadas