Страница 1 из 1
					
				Черная полоса
				Добавлено: 29 Сентябрь 2010, 9:21
				 Игорь Столяров
				Привет всем !
Столкнулся с проблемой. Иногда, при совпадении каких-то непонятных пока условий, в BROWSE
приложения, собранного в C72 вместо шапки списка появляется черная полоса. 
Потом исчезает. Иногда меняет цвет.
В том же приложении собранным под C63 - эффект вообще не проявляется ... 
см. прикрепленный рисунок к письму (программа работает под Win XP SP3). Пробовал разные компьютеры ... 
Это какой-то мой косяк ?
 
			 
			
					
				Re: Черная полоса
				Добавлено: 29 Сентябрь 2010, 17:09
				 Алексей- Софт-Центр
				Добрый день!
    У меня в кларионе 6 , АВС, в броузе , иногда зачерняются целые столбцы, если я ставлю на них color с условиями. 
Причем зачернение - непредсказуемо - но СТАБИЛЬНО!
С уважением, Алексей!
			 
			
					
				Re: Черная полоса
				Добавлено: 29 Сентябрь 2010, 21:31
				 Игорь Столяров
				Алексей- Софт-Центр писал(а):У меня в кларионе 6 , АВС, в броузе , иногда зачерняются целые столбцы, если я ставлю на них color с условиями. Причем зачернение - непредсказуемо - но СТАБИЛЬНО! С уважением, Алексей!
Это может быть связано с некорректной работой менеджера настроек форматов списка, при несовпадении сохраненных настроек и установленных в списке по умолчанию. Если он включен попробуй отключить.
 
			 
			
					
				Re: Черная полоса
				Добавлено: 30 Октябрь 2010, 17:42
				 Игорь Столяров
				В буржуйском форуме нарыл рекомендацию по борьбе с таким глюком в C7:
Open(Window)
Window{Prop:Buffer} = 1
Разумное зерно в этом есть, можно попробовать ... 
Вопрос вот в чем. Можно ли как-то режим вывода окон {Prop:Buffer} = 1 изменить глобально, для все открываемых окон ?
Или вообще для всего приложения ?
			 
			
					
				Re: Черная полоса
				Добавлено: 30 Октябрь 2010, 19:54
				 Дед Пахом
				Игорь Столяров писал(а):Вопрос вот в чем. Можно ли как-то режим вывода окон {Prop:Buffer} = 1 изменить глобально, для все открываемых окон ?
Или вообще для всего приложения ?
Вот для ABC накидал.
Код: Выделить всё
#TEMPLATE(PropBufferGlobalTemplate,'Глобальная установка Prop:Buffer для всех окон'), FAMILY('ABC')
#EXTENSION(PropBufferGlobalExt,'Глобальная установка Prop:Buffer для всех окон'), APPLICATION
  #PROMPT('Установить Prop:Buffer в ', DROP('0|1|2')), %pbGloValue, DEFAULT('1')
  #PROMPT('Использовать шаблон', CHECK), %pbUseTemplate, DEFAULT('1'), AT(10)
  #DISPLAY('')
  #DISPLAY('(c) Дед Пахом 30.10.2010 v0.01'), PROP(PROP:FontStyle,700), PROP(PROP:FontName,'Tahoma')
#!
#AT(%WindowManagerMethodCodeSection,'Init','(),BYTE'),PRIORITY(8001)
  #IF(%pbUseTemplate = '1')
%Window{Prop:Buffer} = %pbGloValue
  #ENDIF
#ENDAT
 
			 
			
					
				Re: Черная полоса
				Добавлено: 31 Октябрь 2010, 10:22
				 Игорь Столяров
				Огромное спасибо !
Все вставилось куда надо и где надо в C7.
Теперь буду иследовать насколько вообще это лечит проблему.
			 
			
					
				Re: Черная полоса
				Добавлено: 16 Ноябрь 2010, 9:54
				 Игорь Столяров
				Прошло пол-месяца, и я думаю, что настало время подвести итог.
Применение шаблона (установка для MDI окон Window{Prop:Buffer} = 1) к приложениям в C7 в корне не решило проблему, но ...
Без шаблона данный косяк при интесивной работе с приложением возникал несколько раз в день, 
а с шаблоном - один раз в несколько дней. Причем проявление проблемы несколько изменилось.
Тесты проведены на 40 компьютерах с контрольной группой, т.ч. результат вполне достоверный.
С этим уже можно жить и работать, хотя конечно понятно, что глюк в RTL ядре Clarion и когда
он будет решен не понятно ... Подождем ... Может в очередном С73 / C8 Gold-Alfa ? 
Так, что еще раз огромное спасибо за помощь ! 

 
			 
			
					
				Re: Черная полоса
				Добавлено: 01 Март 2011, 15:45
				 Игорь Столяров
				Дошли до бога жалобы ... 

 Неожиданно решение этой проблемы нашлось в буржуйском форуме.
Оригинал см. : 
http://www.clarion-software.com/index.p ... 2&id=40152
Проблема в некорректном использовании RTL C7 
GDI objects Windows (он их просто не все освобождает при закрытии окон) и после превышения лимита Windows тупо перестает их предоставлять по запросам приложения. Проверил, как написано в сообщении - все так и есть. К сожалению лекарство только одно - выкручивать лимит объектов 
GDI для приложения в реестре на максимум REG_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Windows\GDIProcessHandleQuota = 65001.
Но с этим уже можно жить ! 
