Черная полоса

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Черная полоса

Сообщение Игорь Столяров »

Привет всем !

Столкнулся с проблемой. Иногда, при совпадении каких-то непонятных пока условий, в BROWSE
приложения, собранного в C72 вместо шапки списка появляется черная полоса.
Потом исчезает. Иногда меняет цвет.

В том же приложении собранным под C63 - эффект вообще не проявляется ... :(

см. прикрепленный рисунок к письму (программа работает под Win XP SP3). Пробовал разные компьютеры ... :(

Это какой-то мой косяк ?
Вложения
Пример скриншота приложения
Пример скриншота приложения
За теми кто отстал - не возвращаться. (С) Кодекс
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Черная полоса

Сообщение Алексей- Софт-Центр »

Добрый день!
У меня в кларионе 6 , АВС, в броузе , иногда зачерняются целые столбцы, если я ставлю на них color с условиями.
Причем зачернение - непредсказуемо - но СТАБИЛЬНО!

С уважением, Алексей!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Черная полоса

Сообщение Игорь Столяров »

Алексей- Софт-Центр писал(а):У меня в кларионе 6 , АВС, в броузе , иногда зачерняются целые столбцы, если я ставлю на них color с условиями. Причем зачернение - непредсказуемо - но СТАБИЛЬНО! С уважением, Алексей!
Это может быть связано с некорректной работой менеджера настроек форматов списка, при несовпадении сохраненных настроек и установленных в списке по умолчанию. Если он включен попробуй отключить.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Черная полоса

Сообщение Игорь Столяров »

В буржуйском форуме нарыл рекомендацию по борьбе с таким глюком в C7:

Open(Window)
Window{Prop:Buffer} = 1

Разумное зерно в этом есть, можно попробовать ...
Вопрос вот в чем. Можно ли как-то режим вывода окон {Prop:Buffer} = 1 изменить глобально, для все открываемых окон ?
Или вообще для всего приложения ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3133
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Черная полоса

Сообщение Дед Пахом »

Игорь Столяров писал(а):Вопрос вот в чем. Можно ли как-то режим вывода окон {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
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Черная полоса

Сообщение Игорь Столяров »

Огромное спасибо !
Все вставилось куда надо и где надо в C7.
Теперь буду иследовать насколько вообще это лечит проблему.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Черная полоса

Сообщение Игорь Столяров »

Прошло пол-месяца, и я думаю, что настало время подвести итог.

Применение шаблона (установка для MDI окон Window{Prop:Buffer} = 1) к приложениям в C7 в корне не решило проблему, но ...

Без шаблона данный косяк при интесивной работе с приложением возникал несколько раз в день,
а с шаблоном - один раз в несколько дней. Причем проявление проблемы несколько изменилось.
Тесты проведены на 40 компьютерах с контрольной группой, т.ч. результат вполне достоверный.

С этим уже можно жить и работать, хотя конечно понятно, что глюк в RTL ядре Clarion и когда
он будет решен не понятно ... Подождем ... Может в очередном С73 / C8 Gold-Alfa ? ;)

Так, что еще раз огромное спасибо за помощь ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Черная полоса

Сообщение Игорь Столяров »

Дошли до бога жалобы ... ;) Неожиданно решение этой проблемы нашлось в буржуйском форуме.
Оригинал см. : 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.

Но с этим уже можно жить ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить