| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		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: ребята, ну посмотрите в Делфи редактор форм - вкладку 'события'. Открываешь - сразу видно какие события есть вообще, мышкой кликнул - автоматом обработчик создался. эх..... | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |