Переключение на Главную Страницу Страницы: 1 2 [3]  ОтправитьПечать
Очень популярная тема (более 25 ответов) ПриНажатииКнопкиКлавиатуры часть 2 (число прочтений - 15640 )
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #30 - 30. Марта 2007 :: 13:32
Печать  
vip писал(а) 30. Марта 2007 :: 13:26:
Цитата:
обработка временами начинает вести себя непредсказуемо

В смысле?


Модальное окошко носится по экрану и после каждого закрытия снова открывается, хотя нажатий на кнопки нет. И либо вылетает 1ска, либо мои усиленные эскейпы возвращают обработку в чувство Улыбка
Быть может это звучит конечно неправдоподобно, я сам не верил, когда мне пользователи это втирали  Улыбка Но теперь верю Улыбка
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #31 - 30. Марта 2007 :: 13:45
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 13:32:
vip писал(а) 30. Марта 2007 :: 13:26:
Цитата:
обработка временами начинает вести себя непредсказуемо

В смысле?


Модальное окошко носится по экрану и после каждого закрытия снова открывается, хотя нажатий на кнопки нет. И либо вылетает 1ска, либо мои усиленные эскейпы возвращают обработку в чувство Улыбка
Быть может это звучит конечно неправдоподобно, я сам не верил, когда мне пользователи это втирали  Улыбка Но теперь верю Улыбка

Клавиша западает.
ОбработкиОжидания нет?
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #32 - 30. Марта 2007 :: 13:54
Печать  
vip писал(а) 30. Марта 2007 :: 13:45:
Leierkastenmann писал(а) 30. Марта 2007 :: 13:32:
vip писал(а) 30. Марта 2007 :: 13:26:
Цитата:
обработка временами начинает вести себя непредсказуемо

В смысле?


Модальное окошко носится по экрану и после каждого закрытия снова открывается, хотя нажатий на кнопки нет. И либо вылетает 1ска, либо мои усиленные эскейпы возвращают обработку в чувство Улыбка
Быть может это звучит конечно неправдоподобно, я сам не верил, когда мне пользователи это втирали  Улыбка Но теперь верю Улыбка

Клавиша западает.
ОбработкиОжидания нет?


У всех подряд что ли западает?Улыбка Нет, просто так нажимают на клавиши, что вызывается такое поведение Улыбка Обработки ожидания нет.
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #33 - 30. Марта 2007 :: 13:57
Печать  
Сделай тестовую конфу и выложи сюда.
Чудес не бывает.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #34 - 02. Апреля 2007 :: 09:28
Печать  
vip писал(а) 30. Марта 2007 :: 13:57:
Сделай тестовую конфу и выложи сюда.
Чудес не бывает.


Выложил. Там две обработки: "НажатиеКнопки" и "ВводЧисла". Первая вызывает вторую. FormEx самый новый свежий, который в пятницу советовали. Глюк у меня воспроизводится следующим образом - один палец ставим на кнопку F3, другой на Esc. И попеременно учащенно их нажимаем Улыбка, после чего модальная формочка начинает скакать по окну и не желать закрываться.
В реальном случае все происходит в документе, выпрыгивают подобные же окошки, но что жмут пользователи, чтобы вызвать ту же картину они не признаются.
  

1Cv7.rar ( 5 KB | Загрузки )
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #35 - 02. Апреля 2007 :: 09:37
Печать  
Не удалось воспроизвести. Все нормально открывается и закрывается.
  

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


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #36 - 02. Апреля 2007 :: 10:09
Печать  
Цитата:
Не удалось воспроизвести. Все нормально открывается и закрывается.


Вот и у меня не сразу получалось. Однако через некоторое время все же вышло и теперь стабильно такое случается.
А версия самой 1с какая? Хотя не думаю, что в ней дело.
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #37 - 02. Апреля 2007 :: 10:25
Печать  
А вот еще выдержка из журнала регистрации этой тестовой конфигурации, там сообщить просто заменено на запись в журнал регистрации. И при моих нажатиях на кнопки мы получаем вот это:


20070402;14:16:22;;E;Sys;OpenSession;0;Компьютер PHWS102(m);;
20070402;14:16:28;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:28;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:29;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:30;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:31;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:31;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:31;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:32;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:32;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Нажали иную кнопку;;
20070402;14:16:34;;E;User;UserMsg;3;Нажали иную кнопку;;
20070402;14:16:34;;E;User;UserMsg;3;Нажали иную кнопку;;
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #38 - 02. Апреля 2007 :: 10:39
Печать  
попробуй такой прием
Код
Выбрать все
Перем ИдетОбработкаНажатияКнопки;

Процедура ПриНажатииКнопкиКлавиатуры(пКодКлавиши, пАльт, пШифт, пКонтрол, пСимвол, пФлагСтандартнойОбработки)
	Если ИдетОбработкаНажатияКнопки=1 Тогда
		пФлагСтандартнойОбработки = 0;
		Возврат
	КонецЕсли;
	ИдетОбработкаНажатияКнопки=1;

	Если пКодКлавиши = 114 Тогда

		пФлагСтандартнойОбработки = 0;

		Сообщить("При нажатии F3");

		СписокПараметров = СоздатьОбъект("СписокЗначений");
		СписокПараметров.Установить("Заголовок", "Введите кол-во");
		СписокПараметров.Установить("Значение",	 0);

		ОткрытьФормуМодально("Обработка.ВводЧисла", СписокПараметров);

		Сообщить(СписокПараметров.Получить("Значение"));

	КонецЕсли;

	ИдетОбработкаНажатияКнопки=0;

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

ИдетОбработкаНажатияКнопки=0; 

  

1&&2&&3
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #39 - 02. Апреля 2007 :: 10:54
Печать  
trad писал(а) 02. Апреля 2007 :: 10:39:
попробуй такой прием
Код
Выбрать все
Перем ИдетОбработкаНажатияКнопки;

Процедура ПриНажатииКнопкиКлавиатуры(пКодКлавиши, пАльт, пШифт, пКонтрол, пСимвол, пФлагСтандартнойОбработки)
	Если ИдетОбработкаНажатияКнопки=1 Тогда
		пФлагСтандартнойОбработки = 0;
		Возврат
	КонецЕсли;
	ИдетОбработкаНажатияКнопки=1;

	Если пКодКлавиши = 114 Тогда

		пФлагСтандартнойОбработки = 0;

		Сообщить("При нажатии F3");

		СписокПараметров = СоздатьОбъект("СписокЗначений");
		СписокПараметров.Установить("Заголовок", "Введите кол-во");
		СписокПараметров.Установить("Значение",	 0);

		ОткрытьФормуМодально("Обработка.ВводЧисла", СписокПараметров);

		Сообщить(СписокПараметров.Получить("Значение"));

	КонецЕсли;

	ИдетОбработкаНажатияКнопки=0;

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

ИдетОбработкаНажатияКнопки=0; 



Просто и со вкусом Улыбка Спасибо за совет, про подобные прибамбасы в своем отлавливании глюков я и не подумал. В моем тесте вроде как работает, сейчас на реальной протестирую.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #40 - 02. Апреля 2007 :: 18:20
Печать  
Только обычно ИдетОбработкаНажатияКнопки называют ЗащитаОтАльфа :-D
  
Наверх
 
IP записан
 
KamikadZe
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 03. Апреля 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #41 - 03. Апреля 2007 :: 07:44
Печать  
Добрый день.
Еще вопрос по этой теме.
1С++ - 2.5.0.1
FormEx - 2.0.5.0
Вот процедура обработки нажатия клавиш:

Процедура ПриНажатииКнопкиКлавиатуры(пКодКлавиши, пАльт, пШифт, пКонтрол, пСимвол, пФлагСтандартнойОбработки)
     Если ИдетОбработкаНажатияКнопки=1 Тогда
           пФлагСтандартнойОбработки = 0;
           Возврат
     КонецЕсли;
     ИдетОбработкаНажатияКнопки=1;
     
     Если (пКодКлавиши>95) и (пКодКлавиши<106) Тогда
//1. здесь происходит сброс стандартной обработки, я так понимаю?
           пФлагСтандартнойОбработки = 0;
           
           Сообщить("При нажатии " + пСимвол);
           
           СписокПараметров = СоздатьОбъект("СписокЗначений");
           СписокПараметров.Установить("Заголовок", "Введите кол-во");
           СписокПараметров.Установить("Значение",       0);
           Сообщить(СписокПараметров.Получить("Значение"));
     Иначе
//2. здесь сброс стандартной обработки не происходит
           Сообщить("Не попал " + пСимвол);
     КонецЕсли;

     ИдетОбработкаНажатияКнопки=0;
     
КонецПроцедуры
D:\Install\Install\1C\1C++\ВК\formex\1.jpg
В архиве две картинки, которые демонстрируют работу двух кусков кода.
Соответственно когда отключается системная обработка нажатия клавиш, процедура ПриНажатииКнопкиКлавиатуры срабатывает один раз, а наоборот два раза.
Можно как-то сделать чтобы процедура срабатывала один раз, но и системную обработку тоже выполнять?
В этом весь смысл.
  

Pic.zip ( 121 KB | Загрузки )
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #42 - 03. Апреля 2007 :: 09:38
Печать  
Цитата:
В этом весь смысл.

Вот этот смысл и непонятен. Объясни.
  
Наверх
ICQ  
IP записан
 
KamikadZe
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 03. Апреля 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #43 - 03. Апреля 2007 :: 10:55
Печать  
Смысл в том, чтобы нажатие лавиш обрабатывалось процедурой ПриНажатииКнопкиКлавиатуры(), при этом не отключать системную обработку нажатия клавиш. А процедура ПриНажатииКнопкиКлавиатуры() по может один раз сработать на нажатие клавиши, а может и два. Этого не нужно.
Мне нужно отловить ту комбинацию символов, которую пользователь вводит с клавиатуры при поиске в справочнике Номенклатуры и обработать ее. Если процедура ПриНажатииКнопкиКлавиатуры() срабатывает несколько раз, я не могу корректно отловить эту комбинацию символов. А если отключать стандартную обработку, то у пользователей соотвественно не работает поиск.
Может есть другой путь?..
  
Наверх
 
IP записан
 
KamikadZe
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 03. Апреля 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #44 - 03. Апреля 2007 :: 13:59
Печать  
Спасибо, пришлось решать другим путем
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 
ОтправитьПечать