Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Johny777

Ветеран


Сообщения: 649
Благодарности: 444

Профиль | Отправить PM | Цитировать


Batistas,
касательно .xml в сообщении El Sanchezhttp://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:


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

Последний раз редактировалось Johny777, 02-08-2012 в 03:27.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:13, 02-08-2012 | #506