CftClub.ru
Клуб специалистов ЦФТ-Банк

Cancel, «CLICK»

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
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
Alkov пишет:
Не помогло

Действительно, видимо я как-то коряво проверил, был уверен, что это работает. Извиняюсь, что ввёл в заблуждение.

Тогда только так:
Код:
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 пишет:
Alkov пишет:
Не помогло

Действительно, видимо я как-то коряво проверил, был уверен, что это работает. Извиняюсь, что ввёл в заблуждение.

Тогда только так:
Код:
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: ребята, ну посмотрите в Делфи редактор форм - вкладку 'события'. Открываешь - сразу видно какие события есть вообще, мышкой кликнул - автоматом обработчик создался. эх.....
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru