Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пт Май 30, 2014 08:02  Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Здравствуйте!
Если на форме операции были заполнения параметров
то
Form1.ScriptPostEvent Cancel, "CLICK"
вызывает поднятие формы "Выйти без сохранения изменений? Да.Нет."
Как можно избежать этого и закрывать форму без диалога ? |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пн Июн 02, 2014 09:25  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Alkov пишет: | Здравствуйте!
Если на форме операции были заполнения параметров
то
Form1.ScriptPostEvent Cancel, "CLICK"
вызывает поднятие формы "Выйти без сохранения изменений? Да.Нет."
Как можно избежать этого и закрывать форму без диалога ? |
Вызывайте Form1.ScriptPostEvent Ok, "CLICK", предварительно подняв какой-нибудь флажок, чтобы изменения не производились. |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Вт Июн 03, 2014 03:11  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Random пишет: |
Вызывайте Form1.ScriptPostEvent Ok, "CLICK", предварительно подняв какой-нибудь флажок, чтобы изменения не производились. |
Операция- конструктор. Заход в тело не желателен, т.к. череват появлением пустого экземпляра.
Пока остановился просто на блокировке кнопки OK,
в случае если пользователь не согласится с выходом, но хотелось бы убрать вызов диалога.... |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Вт Июн 03, 2014 09:28  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Alkov пишет: | Random пишет: |
Вызывайте Form1.ScriptPostEvent Ok, "CLICK", предварительно подняв какой-нибудь флажок, чтобы изменения не производились. |
Операция- конструктор. Заход в тело не желателен, т.к. череват появлением пустого экземпляра.
Пока остановился просто на блокировке кнопки OK,
в случае если пользователь не согласится с выходом, но хотелось бы убрать вызов диалога.... |
rollback не спасёт отца русской демократии? |
|
 |
Amper Профи
Вступление в Клуб: 29.10.2010
|
Вт Июн 03, 2014 09:54  Re: Cancel, «CLICK» |
|
Полезность: 1
|
Alkov пишет: | Здравствуйте!
Если на форме операции были заполнения параметров
то
Form1.ScriptPostEvent Cancel, "CLICK"
вызывает поднятие формы "Выйти без сохранения изменений? Да.Нет."
Как можно избежать этого и закрывать форму без диалога ? |
Вот так:
Код: | Form1.ScriptPostEvent Cancel, "CLICK"
OK.SetFocus |
|
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Ср Июн 04, 2014 05:29  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Amper пишет: |
Вот так:
Код: | Form1.ScriptPostEvent Cancel, "CLICK"
OK.SetFocus |
|
Не помогло
Цитата: |
rollback не спасёт отца русской демократии?
|
Нет как и commit. |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Ср Июн 04, 2014 06:59  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Alkov пишет: | Цитата: |
rollback не спасёт отца русской демократии?
|
Нет как и commit. |
Я имел в виду установить флаг фактической отмены, кликнуть по OK, в теле операции проверить флаг и произвести rollback, чтобы операция-конструктор не создавала экземпляр.
Тебе именно это не помогло?
Тогда по флагу фактической отмены можно сделать delete d in [] where d = this. |
|
 |
Amper Профи
Вступление в Клуб: 29.10.2010
|
Ср Июн 04, 2014 07:13  Re: Cancel, «CLICK» |
|
Полезность: 2
|
Действительно, видимо я как-то коряво проверил, был уверен, что это работает. Извиняюсь, что ввёл в заблуждение.
Тогда только так:
Код: | Public Sub Form1_OnClose(bExit, bAsk)
bAsk = False
End Sub |
|
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Ср Июн 04, 2014 09:39  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Цитата: |
Тогда только так:
Код: | Public Sub Form1_OnClose(bExit, bAsk)
bAsk = False
End Sub |
|
Спасибо, именно то что требовалось.
Цитата: |
Тогда по флагу фактической отмены можно сделать delete d in [] where d = this.
|
Забавный костыль, но там конструктор простой. |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Ср Июн 04, 2014 11:19   |
|
Полезность: Нет оценки
|
В операции на вкладке "Компиляция" снять признак "Простой конструктор". Тогда не будет создаваться экземпляр
Из документации:
Цитата: | "Простой" конструктор
При работе "простого" конструктора перед его вызовом из АРМа "ЦФТ – Навигатор" создается пустой экземпляр, в который и записываются реквизиты вновь создаваемого объекта. При работе же обычного ("сложного") конструктора экземпляр создается не перед вызовом операции, а в ней самой после заполнения реквизитов (если операция не использует коллекции, принадлежащие вновь создаваемому экземпляру). Введение "простого" конструктора обусловлено тем, что на таблице типа могут быть, например, ограничения целостности, и тогда работа "сложного" конструктора будет невозможна, т.к. при создании пустого экземпляра не будут соблюдаться условия ограничения. |
_________________ всегда есть как минимум 2 выхода |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Чт Июн 05, 2014 10:21   |
|
Полезность: Нет оценки
|
Alexsey пишет: | В операции на вкладке "Компиляция" снять признак "Простой конструктор". Тогда не будет создаваться экземпляр
|
У меня расширение к дистрибутивной операции. |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пт Июн 06, 2014 07:33  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Amper пишет: |
Действительно, видимо я как-то коряво проверил, был уверен, что это работает. Извиняюсь, что ввёл в заблуждение.
Тогда только так:
Код: | Public Sub Form1_OnClose(bExit, bAsk)
bAsk = False
End Sub |
|
Хм. Этого я не знал. |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Вт Июн 10, 2014 06:16  Re: Cancel, «CLICK» |
|
Полезность: Нет оценки
|
Random пишет: | Amper пишет: | Тогда только так:
Код: | Public Sub Form1_OnClose(bExit, bAsk)
bAsk = False
End Sub |
|
Хм. Этого я не знал. |
Да уж.... интерфейс "интуитивнонедопетришь"
PS: ребята, ну посмотрите в Делфи редактор форм - вкладку 'события'. Открываешь - сразу видно какие события есть вообще, мышкой кликнул - автоматом обработчик создался. эх..... |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|