Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Различие в работе FormEx на разных релизах 1С++ (число прочтений - 3563 )
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Различие в работе FormEx на разных релизах 1С++
19. Сентября 2007 :: 09:55
Печать  
У меня стоит стабильный релиз 1C++ 2.5.0.1+FormEx #69
Ставлю NightBild от 17 сентября (2.5.0.2) и при выборе значений из списка через
Код
Выбрать все
Сервис = СоздатьОбъект("Сервис");
Сервис.ВыбратьЗначение(Список,значение,"",0);
 


перестают подсвечиваться строки списка, по которым идёт мышь...
  
Наверх
 
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #1 - 28. Сентября 2007 :: 04:37
Печать  
Это не очень удобно! Налицо конфликт между компонентами Печаль Можно что-нибудь сделать?
На новом стабильном релизе 1С++ (2.5.0.3) то же самое... Печаль
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #2 - 28. Сентября 2007 :: 05:18
Печать  
А если идти не мышкой, а стрелками? Идет подсветка?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #3 - 28. Сентября 2007 :: 06:25
Печать  
artbear писал(а) 28. Сентября 2007 :: 05:18:
А если идти не мышкой, а стрелками? Идет подсветка?

Да...
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #4 - 21. Декабря 2007 :: 09:21
Печать  
Аналогично (0), на #82b.

Засада где-то в Общие.Форма.Привязка, глубоко не копал, заткнул пока так:
Код
Выбрать все
// Выбор делается так
ЧтоВыбрано = 0;
серв = СоздатьОбъект( "Сервис" );
офп.Затихни(1);
ВыборСделан = серв.ВыбратьЗначение( сп, ЧтоВыбрано );
офп.Затихни(0);
 


Где офп - Общие.Форма.Привязка :
Код
Выбрать все
// ....
Перем НасПриостановили; // Ищу глюк
// .....
Процедура Затихни( прм ) Экспорт
	НасПриостановили = прм;
КонецПроцедуры	//Затихни
// .....
Процедура ПриДвиженииМыши(Сост,ЛевоМ,ВерхМ) Экспорт
	Если ( НасПриостановили = 1 ) Тогда
		Возврат;
	КонецЕсли;
// .....
 



То есть, хорошо бы "Сервис" FormEx переставал генерить события в модуль, пока висит его же родной "ВыбратьЗначение(...)".
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #5 - 21. Декабря 2007 :: 09:47
Печать  
Ещё это выражалось заторможенной реакцией списка на выбор мышкой, когда на форме слишком много привязок.
Приходилось делать двойной или даже тройной щелчек.
Отдал право выбора классу привязки Улыбка
Код
Выбрать все
// КОП Общие.Форма.Привязка :
Функция ВыбратьЗначение( сп, Значение, Заголовок="", СпособВыбора=0, ФлагВыбора=0, Шрифт= ) экспорт
	серв = СоздатьОбъект( "Сервис" );
	НасПриостановили = 1;
	попытка
		ВыборСделан = серв.ВыбратьЗначение( сп, Значение, Заголовок, СпособВыбора, ФлагВыбора, Шрифт );
	исключение
		ВыборСделан = 0;
	конецпопытки;
	НасПриостановили = 0;
	Возврат ВыборСделан;
КонецФункции	//ВыбратьЗначение 


Вроде работает Подмигивание
(хотя параметр Шрифт у FormEx::ВыбратьЗначение(...), кажется уже не последний)
  
Наверх
ICQ  
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #6 - 21. Декабря 2007 :: 10:31
Печать  
Решил я у себя эту проблему - причина в том, что в классе Общие.Форма.Привязка в процедуре ПриДвиженииМыши перебирается весь список привязаных реквизитов для установки ПРАВИЛЬНОГО вида курсора Печаль
Это актуально только для форм, в которых есть соответствующий тип привязки.
См ниже:
Код
Выбрать все
//{Закоментировано, так как не используется привязка "LW" и "TH"

//Процедура ПриДвиженииМыши(Сост,Лево,Верх)
//	гРФорма.ПриДвиженииМыши(Сост,Лево,Верх);
//КонецПроцедуры


//Процедура ПриНажатииЛевойКнопки(Сост,Лево,Верх)
//	гРФорма.ПриНажатииЛевойКнопки(Сост,Лево,Верх);
//КонецПроцедуры


//Процедура ПриОтжатииЛевойКнопки(Сост,Лево,Верх) Экспорт
//	гРФорма.ПриОтжатииЛевойКнопки(Сост,Лево,Верх);
//КонецПроцедуры
//}Конец комментария по причине отсутствия использовния привязки "LW" и "TH"
 


Вот так Улыбка
Там, где это действительно нужно, можно флагом рулить Улыбка
или, как вариант:
Код
Выбрать все
ПерехватМыши(0);
 


А вообще, по-хорошему бы взять зубило, молоток и напильник и слегка класс подрихтовать Улыбка Улыбка Улыбка
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Различие в работе FormEx на разных релизах 1С+
Ответ #7 - 21. Декабря 2007 :: 10:48
Печать  
Как мне кажется, в него нужно добавить обработку скрытия\отображения реквизитов (ПриВыбореЗакладки и .Видимость(...)) чтобы и список ограничить, и курсор действительно правильно устанавливался. У меня "<-->" по средине таблицы вылазит, поскольку на другой закладке две ТЗ рядом сидят. Соответственно, можно "ухватить" неизвестно за что, и поменять его (типа неизвестно чей) размер Улыбка

Или по правильному - при смене закладок\видимости - нужно менять привязки? Хотя сомнительно, ибо ПриИзмененииРазмеровОкна...
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать