На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ Inno Setup
Пожалуйста, выделяйте текст инсталлятора написанного на Inno Setup тегом [сode=ins] ... [/сode]. Для этого используйте кнопку [code=ins] в форме ответа или комбобокс, если нужно вставить код из другой программы.


Обязательно указывать:

  • Программу, используемую для создания инсталлятора.



Если в ходе решения проблемы возникли дополнительные вопросы, по возможности задаем их в той же теме.


Выразить свое отношение к модераторам раздела можно здесь: Profi, Fester
Модераторы: Fester, Profi
  
> Вызвать дочерний диалог и как заполнить ListView.
    Всем привет.

    Использую InstallShield 12 Premier(в принципе при желании можно проапгрейдится, но не суть).

    В общем такой капец приключился:

    1) Есть диалог, на нем кнопка "Добавить...", ListView, по нажатии на нее нужно отобразить дочерний диалог куда пользователь что то пишет, нажимает ОК, и то что он написал в дочернем диалоге добавляется в ListView Главного диалога. Как это делается в моем инсталяторе:
    На кнопке "Добавить" - вешается событие на нажатие кнопки "NewDialog" "MyDialog" 1(1 - это условие)
    MyDialog - отображается, но главная форма, из которой он был вызван закрывается!!! При этом если ввести значение, нажать ОК, значение попадает в ListView главного диалога.
    При этом сделано немного через жопу, как я понял из за косяка(?) InstallShield. Т.е. на самом деле там два главных диалога, один из них клон.

    Если вызывать дочернее окно, не через NewDialog, а через SpawnDialog - тогда все замечательно работает.
    Но есть одно НО. Когда я в дочернем окне ввожу данные и жму ОК, оно закрывается, но данные не попадают в ListView.

    По идее данные должны попасть в ListView через Custom Actions, там есть спец функция, которая этот список и заполняет. Она отрабатывает - но изменений не наблюдается. Что не так с этим SpawnDialog?

    Второй момент. На главном диалоге есть помимо кнопки добавить - кнопка "Удалить". Выбираем элемент в ListView, нажимаем удалить, вызывается спец функция через Custom Action, которая отрабатывает все отлично, удаляет выбранную сущность, но список почему то не отображает изменения. В чем может быть косяк? Может быть там какой Commit надо вызвать? Или как вообще?
      В общем частично проблема решена. Остался вопрос с тем - как именно можно вызвать дочерний диалог, и добавить из него значения в основной. Но судя по всему тут без извращений не обойтись, и чтоб решить проблему - нужно писать код, который будет создавать диалог.
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0605 ]   [ 14 queries used ]   [ Generated: 20.11.17, 22:59 GMT ]