2016-06-06 3 views
1

Первый I: Искал много, но не нашел ничего, что казалось бы покрывающим это, но я мог бы его не заметить. (Мое кодирование сосет, так что я не всегда знаю, что нужно искать)Inno Setup: отключить определенные типы из меню - аналогично методу Компоненты, ранее опубликованному

Сценарий: Мне нравится использовать выпадающий список подход выбора более переключателей или флажков. Поэтому я обычно добавляю тип для каждого компонента и отключает экран компонента, поэтому пользователь просто выбирает соответствующий параметр.

Однако иногда мне нужно было проверить, выполнено ли условие, прежде чем предлагать возможность выбора или сокращения списка в целом.

Что я нашел: Для условий я нашел этот пост Hide/Disable Component at runtime я пытался это его путь работает, но я хотел бы сделать то же самое, но с типами.

Следующая ?: Я не могу найти, если есть что-то вроде WizardForm.TypesList.ItemEnabled (я знаю, что это не настоящий вызов)

Можно ли это сделать без создания полностью пользовательскую страницу типов? И может ли это быть настоящей шкурой? (Отключить работы для меня, как хорошо, шкура просто уборщик)

ответ

0

Чтобы скрыть тип установки условно, используйте Check parameter в разделе Types.

[Types] 
Name: "typeA"; Description: "A installation" 
Name: "typeB"; Description: "B installation" 
Name: "typeConditional"; Description: "Some other installation"; Check: CanInstallOther 

[Code] 

function CanInstallOther: Boolean; 
begin 
    Result := ...; 
end; 

Я не думаю, что вы можете действительно отключить элемент из выпадающего списка. Вы можете запретить пользователю выбирать его, но вы не можете сделать его серым или чем-то другим.

+0

Это лучше, я предпочитаю, чтобы они даже не видели вариант, если условие выполнено. Протестировано с FileExists, работает по мере необходимости. Благодаря! – CADuser