Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Бесконечный цикл при SendKeys (?) (число прочтений - 6716 )
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Бесконечный цикл при SendKeys (?)
Ответ #15 - 30. Мая 2009 :: 11:19
Печать  
Сделай тестовую конфигу и выложи сюда.
  

FormEx developer
Наверх
www  
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Бесконечный цикл при SendKeys (?)
Ответ #16 - 30. Мая 2009 :: 12:25
Печать  
Запустить в режиме предприятия и
1. Не открывая никаких окон, держать нажатой клавишу Инсерт несколько секунд (или больше)
или 2. Открыть форму списка справочника тест2 и сделать то же самое
или 3. Открыть элемент справочника тестспр, поместить курсор на реквизит новый1 и держать нажатой клавишу Инсерт

Если система начнет подвисать: диспетчер задач - снять задачу
  

test_002.7z ( 8 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Бесконечный цикл при SendKeys (?)
Ответ #17 - 01. Июня 2009 :: 05:00
Печать  
Код
Выбрать все
Процедура ПриНажатииКнопкиКлавиатуры ( конт, код, _а, _ш, _к, Символ, ФСО ) // предопределенная процедура компоненты FormEx
	Сообщить(" Нажата кнопка клавиатуры. "+код+" "+_а+" "+_ш+" "+_к + " ИдетОбработкаНажатияКнопки = " + ИдетОбработкаНажатияКнопки);
	Если ИдетОбработкаНажатияКнопки = 1 Тогда
		Возврат;
	КонецЕсли;
	ИдетОбработкаНажатияКнопки = 1;
	Попытка
		Если код = 46 Тогда // Delete key - очистить поле
			Сервис.SendKeys ( "+{F4}" ); // SHIFT+F4 - очистить поле; на любом типе реквизита ничего страшного не будет от того, что будет нажато SHIFT+F4
		ИначеЕсли Код = 45 Тогда // Insert - выбрать значение
			ФСО = 0;
			Сервис.SendKeys ( "{F4}" ); // Insert -> F4 - выбор, на любом типе реквизита ничего страшного не будет от того, что будет нажато F4
			Сообщить("Послали нажатие F4");
		КонецЕсли;
	Исключение
		// нет активной формы, или любая другая ошибка
	КонецПопытки;
	ИдетОбработкаНажатияКнопки = 0;

КонецПроцедуры 



Так не покатит разве ?
  
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Бесконечный цикл при SendKeys (?)
Ответ #18 - 01. Июня 2009 :: 06:52
Печать  
Если ты насчет этого:
Код
Выбрать все
ИначеЕсли Код = 45 Тогда // Insert - выбрать значение
	ФСО = 0;
	Сервис.SendKeys ( "{F4}" ); // Insert -> F4 - выбор, на любом типе реквизита ничего страшного не будет от того, что будет нажато F4
 


то зависания, скорее всего не будет. но если пользователь нажмет Инсерт на форме списка, тогда не сработает ввод нового элемента (из-за ФСО = 0)
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Бесконечный цикл при SendKeys (?)
Ответ #19 - 01. Июня 2009 :: 08:39
Печать  
Ну да... а что мешает тип контекста например, проверять ?
Если форма списка, то фсо=1 иначе фсо=0, например ?
  
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Бесконечный цикл при SendKeys (?)
Ответ #20 - 01. Июня 2009 :: 09:40
Печать  
Eprst писал(а) 01. Июня 2009 :: 08:39:
Ну да... а что мешает тип контекста например, проверять ?
Если форма списка, то фсо=1 иначе фсо=0, например ?

blindvic писал(а) 29. Мая 2009 :: 07:20:
Я не ищу в данном случае workaround. По идее, это решение должно работать. Но не работает.

blindvic писал(а) 29. Мая 2009 :: 07:53:
Хочу понять, в чем проблема. Если это глюк Формекс, тогда лучше его найти и исправить, иначе кто-то другой наткнется, может быть и в другом виде.


ЗЫ Знаю, что для некоторых это глупо выглядит. Но я хочу не убрать симптом, а найти источник проблемы.  Язык
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Бесконечный цикл при SendKeys (?)
Ответ #21 - 02. Июня 2009 :: 20:16
Печать  
Я вот тоже подобой идеей задавался давно, правда на последних версиях не пробовал, а на старых работает
http://infostart.ru/projects/751/
  
Наверх
ICQ  
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Бесконечный цикл при SendKeys (?)
Ответ #22 - 03. Июня 2009 :: 06:49
Печать  
Chieftain писал(а) 02. Июня 2009 :: 20:16:
Я вот тоже подобой идеей задавался давно, правда на последних версиях не пробовал, а на старых работает
http://infostart.ru/projects/751/

Прикольно. Что интересно - обоим одна и та же идея пришла по отдельности.
У меня маленькое отличие: пробел открывает для чтения, а ктрл+пробел - для редактирования
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать