Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Возникает ошибка при раскраске (число прочтений - 1990 )
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Возникает ошибка при раскраске
12. Апреля 2009 :: 05:55
Печать  
Всем привет!
Использую первый раз formex -- клиент попросил раскрашенный документ. Использую только раскраску в документе (всего колонок в документе 32), но оооочень часто происходит ошибка при обновлении формы документа -- посередине табличка "Запрашиваемый ресурс недоступен", при этом окно 1с перестает прорисовываться. У меня дома при разработке эта ошибка возникала, но реже.
Релиз платформы 27, formex 2.0.5.93 beta. Скриншот документа во вложении, на всякий случай.
Как избавиться от ошибки?

  

__________.JPG ( 367 KB | Загрузки )
__________.JPG
Наверх
 
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Возникает ошибка при раскраске
Ответ #1 - 12. Апреля 2009 :: 05:56
Печать  
Еще заметил особенность -- при раскраске колонки сдигаются относительно заголовков. Это так и должно быть при работе formex?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Возникает ошибка при раскраске
Ответ #2 - 12. Апреля 2009 :: 07:19
Печать  
Ivan писал(а) 12. Апреля 2009 :: 05:55:
Всем привет!
Использую первый раз formex -- клиент попросил раскрашенный документ. Использую только раскраску в документе (всего колонок в документе 32), но оооочень часто происходит ошибка при обновлении формы документа -- посередине табличка "Запрашиваемый ресурс недоступен", при этом окно 1с перестает прорисовываться. У меня дома при разработке эта ошибка возникала, но реже.
Релиз платформы 27, formex 2.0.5.93 beta. Скриншот документа во вложении, на всякий случай.
Как избавиться от ошибки?


Это яркий пример утечки по объектам GDI.
В скриншоте видно использование разных шрифтов в ячейках.
Почти уверен, что новые шрифты создаются в цикле и не освобождаются.
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Возникает ошибка при раскраске
Ответ #3 - 12. Апреля 2009 :: 07:22
Печать  
Ivan писал(а) 12. Апреля 2009 :: 05:56:
Еще заметил особенность -- при раскраске колонки сдигаются относительно заголовков. Это так и должно быть при работе formex?

Колонка с макросом раскраски не должна быть первой.
Если нужно раскрасить ячейку левее ячейки с макросом, используй INDENT[-1]
  
Наверх
ICQ  
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Возникает ошибка при раскраске
Ответ #4 - 12. Апреля 2009 :: 10:18
Печать  
Ооопс, не знал что шрифты надо освобождать. Колонка раскраски идет второй и она не одна, но первая колонка невидимая (ТипСтроки).
В колонке раскраски в формуле стоит, типа УстановитьЦветСтроки1():

Функция УстановитьЦветСтроки1()
     
     Если ТипСтроки = 255 Тогда //Строка группы
           Возврат "FONTSET["+Сервис.СоздатьШрифт(,,7)+"]BRUSH["+ПолучитьЦвет(0,200,0)+"]COUNT[31]";
     ИначеЕсли ТипСтроки = 254 Тогда //Строка начала разовых планов
           Возврат "BRUSH["+ПолучитьЦвет(200,0,0)+"]COUNT[31]";
     Иначе
           Возврат "";
     КонецЕсли;            
     
КонецФункции // ПолучитьЦветСтроки

Подскажите, пожалуйста, где в коде нужно освобождать шрифты?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Возникает ошибка при раскраске
Ответ #5 - 12. Апреля 2009 :: 13:00
Печать  
Предчувствия меня не обманули... Улыбка

Из als FormEx'a
> Обязательно удаляйте ненужные уже шрифты методом УдалитьШрифт(...).

Создай один раз в ГМ нужный тебе шрифт, и удаляй его при завершении работы.
  
Наверх
ICQ  
IP записан
 
Ivan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Зарегистрирован: 12. Апреля 2009
Re: Возникает ошибка при раскраске
Ответ #6 - 12. Апреля 2009 :: 14:52
Печать  
Спасибо, смысл работы со шрифтами понятен! Т.е. сама раскраска тут ни причем оказалась... Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать