Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) ПриИзмененииРазмераОкна(Тип,Ширина,Высота) (число прочтений - 12029 )
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
14. Апреля 2008 :: 07:12
Печать  
Странное поведение:
Смысл в следующем:
1.Открываем форму
срабатывает 2 раза
2.Разворачиваем на всеь Экран
срабытывает 4 раза
3.Дальше что бы с фориой не делали вообще не срабатывает!
Вот код:
Код
Выбрать все
Процедура ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
	Сообщить(Тип);
	Если ФормаОткрыта=1 Тогда
		Страница = Закладки.ТекущаяСтраница();
		Если ПустоеЗначение(Страница) = 0 Тогда
			Форма_ПриСменеСлоя(Страница);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры	// ПриИзмененииРазмераОкна

 



вер. 2.0.5.82
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #1 - 14. Апреля 2008 :: 09:27
Печать  
Дополняю
1.Данные чудеса происходить (т.е.) перестает работать процедура
только после Максимизации.
если руцями тягать размеры то отрабатет.
2.Еще чудеса.
Есть пустая внешняя обработка.
в ней одна единчтвенная процедура
Процедура ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
     Сообщить(Тип);
КонецПроцедуры      // ПриИзмененииРазмераОкна

При максимизации этой формы и после ее закрытия
На некоторых формах (в моем случае Полный журнал)
при открытии выводит сообщить из процедуры этой обработки( т.е. Сообщить(Тип))
в нашем случае : 2
причем у точная обработка уже закрыта
а в форме журнала такой процедуры и в помине небыло.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #2 - 14. Апреля 2008 :: 09:28
Печать  
В первую очередь, прошу в багзиллу Улыбка
Потом тест.
Дальше будем думать Улыбка
  

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


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #3 - 14. Апреля 2008 :: 09:41
Печать  
Вот простой пример:
Конфа во вложении.
1.Открывает обработку Новый1
тягаем мышкой размеры
все пусчком всегда выводит 0
2.Максимизируем обработку
результат:
>2
>

>2
непонятно что такое 3-я строка?
3.Закрываем обработку
4.Открываем форму журнала Новый1
получаем вот это:
>2
>0
в форме журнала ничего нету вообще
5.Закрываем форму журнала
6.Открываем повторно
уже ничего не выводится.

В глобальном идет только загрузка FromEx.dll и более никаких других компонент!
  

1Cv7_003.rar ( 4 KB | Загрузки )
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #4 - 14. Апреля 2008 :: 10:48
Печать  
Добавил в багзилу.
Ждем решений!
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #5 - 14. Апреля 2008 :: 11:04
Печать  
Попытка поменять на 2.0.5.83 beta увенчалась тем же самым.
т.е. ничего не изменилось!
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #6 - 14. Апреля 2008 :: 11:49
Печать  
Народ!
Так кто нибудь подтвердит баг?
Или нет?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #7 - 14. Апреля 2008 :: 12:17
Печать  
varelchik писал(а) 14. Апреля 2008 :: 11:49:
Народ!
Так кто нибудь подтвердит баг?
Или нет?

Есть такое дело.
Подтверждаю.
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #8 - 14. Апреля 2008 :: 16:06
Печать  
Подтверждение есть!
Это уже хорошо.
А вот колы ждать решений?
Блин я тута такое завернулю
А без опредения размеров ну никак!
Ребята колы смогете разгребсти?

Просто у мене 2 закладки.
В зависимости от закладок, меняесть размер атрибутов.
Все хорошо но вот только с МНЧ проблемы. 
ЕСли б не менять ее размеры я бы на это и не натолкнулся.
Потому как все элеменыт расположенные под ней привязаны до нее.
Я конечно понимаю что можно поставить у формы не изменять размер.
Но это ж не выход.
Мне в этой процедуре надо поймать размер МНЧ после изменения размера формы (ее т.е. МНЧ высота ж измениться) посему потом надо будет перекурчитьвать расчет по изменению размеров других атрибутов.
Вообщем у меня выходит такое.

Код
Выбрать все
Перем фВысотаКонтейнера;
Перем фШиринаКонтейнера;
Перем фВерхМНЧ;
Перем фВысотаМНЧ;
Перем рФорма;

// дальше всякая лабуда
// а вот тута я меня размены нужных мне атрибутов
// т.е. при смене закоадок я скидую МНЧ чуть ниже и обрамляю нужные мне атрибуты обычной рамкой
// ну и при возврате на основную закладку возвращаю размеры и положение назад.

Процедура Форма_ПриСменеСлоя(Имя)
	Форма.ИспользоватьСлой("Основной,"+Имя,2);
	фМНЧ=рФорма.ПолучитьАтрибут("МногострочнаяЧасть");
	фКонтейнер=рФорма.ПолучитьАтрибут("рКонтейнер");
	Если Имя="Подбор" Тогда
		фМНЧ.УстановитьКоординаты(,фВерхМНЧ+90,,фВысотаМНЧ-90);
		фКонтейнер.УстановитьКоординаты(,,фШиринаКонтейнера+200,фВысотаКонтейнера+90);
	Иначе
		фМНЧ.УстановитьКоординаты(,фВерхМНЧ,,фВысотаМНЧ);
		фКонтейнер.УстановитьКоординаты(,,фШиринаКонтейнера,фВысотаКонтейнера);
	КонецЕсли;
КонецПроцедуры	// Форма_ПриСменеСлоя

// а тута я после открытия запоминаю текущие значения
Процедура ПослеОткрытия()
	рФорма=СоздатьОбъект("РасширениеФормы");
	фМНЧ=рФорма.ПолучитьАтрибут("МногострочнаяЧасть");
	фКонтейнер=рФорма.ПолучитьАтрибут("рКонтейнер");
	фМНЧ.ПолучитьКоординаты(,фВерхМНЧ,,фВысотаМНЧ);
	фКонтейнер.ПолучитьКоординаты(,,фШиринаКонтейнера,фВысотаКонтейнера);
	СоздатьЗакладки();
	ИнициализацияТаблиц();
	ФормаОткрыта=1;
	ойкиТПОстатки"));
	ойкиТПАналоги"));
	киТПвПути"));

	йкиТППоиск1"));
	йкиТППоиск2"));
КонецПроцедуры	// ПослеОткрытия
 



Всебы хорошо если бы не привязка кнопок по МНЧ к ее размеру.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #9 - 14. Апреля 2008 :: 20:10
Печать  
Спешу обрадовать всех!
Эти чудеса происходят не только на последней версии FormEx
но и на 1С++ 2.0.3.8 и на FromEx 2.0
больше правда у мене ничего ненашлось.

И еще это же касается и глобальной процедуры
После Максимизации формы процедура выключается,перестает работать с текущим контекстом до тех пор пока форму не закроешь.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #10 - 14. Апреля 2008 :: 20:31
Печать  
Я думаю мои исследования в этойм направлении разработчиков натолкнут на мысль.
Так вот:
Одну из причин переставания работать этой процедуры нашел.
А именно:
для контроля инфо выводиться в табло сообщений.
Если это табло не закрывать когда Форма Максимизорованна то процедура работает нормально.
Если же закрыть когда Форма Максимизированна то все каюк процедура уже не работает,но с каких-то непонятных соображений перебрасывается на следующую открывающеюся форму.

Я так думаю моих исследований хватит разработчикам чтобы найти причину.
Это скорее всего к УВАЖАЕМОМУ АЛьФу.
потому как оптимизация Артура похоже здесь непричем, в соответствии с выше перечисленными постами.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #11 - 14. Апреля 2008 :: 21:28
Печать  
Я прошу пардону, но на #83 у меня все работает. И вроде как надо. И если бы не работало, то общеизвестный класс Привязка давно бы перестал работать.
Что я делаю не так?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #12 - 14. Апреля 2008 :: 21:44
Печать  
Arta писал(а) 14. Апреля 2008 :: 21:28:
Я прошу пардону, но на #83 у меня все работает. И вроде как надо. И если бы не работало, то общеизвестный класс Привязка давно бы перестал работать.
Что я делаю не так?

Да нет. Попробуй именно вызывать Сообщить() в ПриИзмененииРазмераОкна().
И закрой окно сообщении, когда форма максимизирована. После этого процедура перестает работать.
Я еще днем заметил эту закономерность, но думал, что совпадение просто.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #13 - 15. Апреля 2008 :: 03:47
Печать  
В багзилле отметь, плиз, эти особенности выявления бага и тот факт,что ошибка есть и на ранних версиях.
  

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


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #14 - 15. Апреля 2008 :: 06:15
Печать  
vip писал(а) 14. Апреля 2008 :: 21:44:
Arta писал(а) 14. Апреля 2008 :: 21:28:
Я прошу пардону, но на #83 у меня все работает. И вроде как надо. И если бы не работало, то общеизвестный класс Привязка давно бы перестал работать.
Что я делаю не так?

Да нет. Попробуй именно вызывать Сообщить() в ПриИзмененииРазмераОкна().
И закрой окно сообщении, когда форма максимизирована. После этого процедура перестает работать.
Я еще днем заметил эту закономерность, но думал, что совпадение просто.


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