Batistas,
касательно .xml в сообщении
El Sanchez-а
http://forum.oszone.net/post-1932532-253.html
Юра! Что может быть проще чем проверять значение одой логической переменной?
Хочешь пример?
У меня при нажатии на кнопку создаётся форма с чек боксами задач (8 чек боксов) (форма не модальная. После её показа не идёт команда Free)
при нажатии на кнопку на форме, при нажатии на кнопку основного окна с которой эта форма создалась, при переходе на страницу назад форма прячется
пишется значение тру в переменную "форма спрятана"
при наведении на картинку на странице с кнопкой через которую вызывается форма и рядом лежащий на всю оставшуюся страницу прозрачный лейбл, за который можно хвататься курсором мыши, форма разрушается
пишется false в другую переменную "форма существует"
при новом вызове формы идёт "Есои форма существует - форма.Free. если форма не существует, то создать-создать, в конце форма видимая тру, форма существует тру"
логическая переменная кушает мало(булев переменная = 1 бит), а форма значительно больше. Если её не выгружая вызвать 10 раз, то ничего хорошего
мне неприятно будет своим нсталлом глупо съедать ресурсы чужого компа и своего
Теперь хоть 1000 раз нажми
и ещё
форма, если не закрыта разрушается в начале установки
когда формы нет угадай как реализована передача команд "установить директ икс", "уст. визуал" и пр в конце установки? (чекбоксы слетают вместе с формой. Поэтому никаких "если отмечен, то...")
Цитата Yury_Prizrak:
Я надеялся что можно как-то спрятать страницы но использовать их(страниц) переменные(текстовые поля) »
|
можно вынести создание страниц в процедуру
читать дальше »
Код:

var
Installed: boolean;
function InitializeSetup(): Boolean;
begin
Installed := False;
проверяем есть ли ключ (код 2 страницы назад)
если есть Installed := True; и пошло по всему коду
end;
procedure CreateSettingPages;
var
все переменные которые могоут быть локальными сюда
begin
создаём страницы и всё, что на них
end;
procedure InitializeWizard;
begin
if not Installed then CreateSettingPages; - создаём страницы. Короче всё, что должно делаться если не установлена
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if not Installed then тоже самое но для того что ты делаешь в переключении страниц
end;
??????????????????????????????
или пропускать их
function ShouldSkipPage(PageID: Integer): Boolean;
begin
case PageID of
стр1.ID, стр2.ID : Result := Installed;
end;
end:
И всёж советую тебе выбирать самое простое решение
думаю, то что я тебе посоветовал и есть простое решение
писать альтернативный километр кода если установлена или просто не обрабатывать существующий код(настройку из твоего сообщения) если не установлена
что лучше?