Форум Кладовочки АЛьФ`а

Обсуждение проектов => FormEx => Тема начата: mEnter от 25 апреля 2024, 22:28

Название: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 25 апреля 2024, 22:28
Панель добавляется, но вся строка панели начинает мигать непрерывно, как будто идет постоянный вывод, проскакивает ряд единиц 11111111111111.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Злоп от 26 апреля 2024, 00:16
Воспроизводимый пример/тест?
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Пиит от 26 апреля 2024, 00:31
Цитата: mEnter от 25 апреля 2024, 22:28Панель добавляется, но вся строка панели начинает мигать непрерывно, как будто идет постоянный вывод, проскакивает ряд единиц 11111111111111.
Это уже на рассмотрении, работа пенелей, имею в виду
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: АЛьФ от 26 апреля 2024, 11:12
В модальной форме?
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 26 апреля 2024, 12:16
главное окно, ничего не открыто еще.
Добавляю ПриНачалеРаботыСистемы()

Панель = СоздатьОбъект("ПанельСтрокиСостояния");
Панель.ДобавитьПанель("Тест","Тест",0,0,1);

Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: АЛьФ от 26 апреля 2024, 12:38
С ходу не воспроизводится.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Arbuz от 26 апреля 2024, 17:00
У меня тоже не воспроизводится. Если делаю из ПриНачалеРаботыСистемы, то при создании панели один раз очень быстро пробегают 1111111111, если делаю по таймеру из глобальника, то единиц не видно. Win7x86
ЗЫ: забыл указать сборка 198 03.04.24
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 26 апреля 2024, 17:10
Перекачайте, последняя скачаная сборка прямо сейчас, с датой 07.04.2024
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 26 апреля 2024, 17:52
На последней тоже самое. выводится строка Текущий статус1111111111111111, причем она может двоится, т.е. два раза в одну строку
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 26 апреля 2024, 18:29
Создавай тестовую базу с этим глюком. Иначе никак не получится починить.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 26 апреля 2024, 18:39
Только что пустая новая.
Загружается 1С++ 32430
Загружается Formex 205198
результат тот же самый

Только FormEX
результат тот же

Сервер 2008R2 64, 1C 27, DBF
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 27 апреля 2024, 11:38
Скинь скрин Справка/О программе.

Такой ресурс в 1crcrus.dll есть, но я не знаю где он используется.
                             Rsrc_StringTable_e72_419
        311bb128 19 00 22        p_unicode  u"Текущий статус 1111111111"                     Rsrc String ID 59154
        311bb19a 11 00 18        p_unicode  u"Измененные строки"                             Rsrc String ID 59158
        311bb1be 10 00 23        p_unicode  u"Удаленные строки"                              Rsrc String ID 59159
        311bb1e0 12 00 14        p_unicode  u"Добавленные строки"                            Rsrc String ID 59160
        311bb206 0b 00 31        p_unicode  u"1000 x 1000"                                   Rsrc String ID 59161
        311bb21e 0b 00 31        p_unicode  u"1000 x 1000"                                   Rsrc String ID 59162
        311bb236 19 00 22        p_unicode  u"Текущий статус 1111111111"                     Rsrc String ID 59163
 

Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 27 апреля 2024, 11:41
На 2008R2 не воспроизводится.
(https://i.gyazo.com/b3f60a5749e10b21f6494f68ec7076d8.png)
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 27 апреля 2024, 14:48
test.jpg
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: АЛьФ от 27 апреля 2024, 14:52
На скрине все в порядке с панелью.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 27 апреля 2024, 14:56
Выглядит нормально, без глюков.

Но на скрине в #8 Панели БИ и ТП обрезаны, тут уже нормальный размер...

Остается вопрос: как воспроизвести то что сейчас все нормально, а тогда было не ненормально?
Вот поэтому скрин и просил, не знал как такого добиться, возможно была какая-то странная разница в составе компонентов, но нет.
З.Ы. нужен был первый скрин, с версией 1С 7.7 и ее компонентов (я его успел увидеть), но там все в порядке, 7.70.027 и полный комплект компонентов.

Есть смутное подозрение, что виноват флаг Растягиваемая, которая должна быть только в одной Панели, как написано в als.
Лучше бы все флаги Панелей при глюке сдампить в ТЗ, может станет понятнее.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 27 апреля 2024, 16:28
 :) Так вывод идет постоянно. Замирает если открыта модальная форма, выше на картинке я поймал фоткой момент когда  строку ТекущийСтатус 11111111 видно. Строчка моргает постоянно. Если форма открыта не модальная моргание продолжается.
Да иногда видно что панели все сжимаются да минимума и разжимаются.

Видео попробую вставить
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 27 апреля 2024, 16:33
Цитата: mEnter от 27 апреля 2024, 16:28Замирает если открыта модальная форма
И как это совпадает с Вашим утверждением что открыта пустая конфигурация без прочих изменений?

Еще раз повторяю: нужна тестовая конфигурация с очень детальным описанием Ваших действий, которые приводят к подобным случаям.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 28 апреля 2024, 00:29
Хорошо. Пустая конфигурация. Есть только полный журнал. Открываешь его - мигание.
Открываешь Меню - Стопорится.
Открываешь "О программе" - Стопорится.
Открываешь Параметры - Стопорится.
Закрываешь - мигание возобновляется.

Сниму видео - выложу. со всеми этими действиями.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 28 апреля 2024, 00:46
Video (https://disk.yandex.ru/i/XUhzvkMIGQUdCA)

Прошу прощения за дрожание левой руки :) Неудобно было
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Злоп от 28 апреля 2024, 01:20
Положите архив папки с базой. Чтобы точно как.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 28 апреля 2024, 12:39
Так, воспроизвел. Не постоянное моргание, а именно одноразовый вывод "ТекущийСтатус 11111111" при открытии Текста.
Причем не обязательно даже добавлять панель, достаточно загрузить formex.
Вспомнил про Status1C.dll Орефкова: https://www.1cpp.ru/forum/YaBB.pl?num=1224102924/4
Поискал в своей кладовочке исходники, нашел, вот они: https://cloud.mail.ru/public/9vyw/Y8Rw12XiU
Со Status1C.dll не моргает. Надеюсь что эти исходники помогут исправить ситуацию.
Там есть ценное примечание
За работу статусбара в 1С отвечает класс SECStatusBar, размещенный
во frame.dll. Небольшое исследование показало, что во многом он
подобен MFC классу CStatusBar, но есть и отличия.
Например, отличается размер класса.
Так что простая подмена Detach -> Attach CStatusBar не прокатывает.
Значит, надо поработать именно с тем объектом класса,
созданным самой 1С.
Опять же клинические исследования показали, что работа с индикаторами
практически не отличается от MFC.
В частности, совпадают: размещение в классе количества индикаторов
m_nCount (смещение 0x56), указатель на данные об индикаторах
m_pData (0x60), и структура самих данных AFX_STATUSPANE
Также удалось установить, что при смене индикаторов на нестандартные
1С при открытии любых таблиц восстанавливает их. Потому:
1. По адресу ф-ии SECStatusBar::SetIndicators надо прописать заглушку.
Для этого просто возьмем ее адрес и впишем в начало 6 байт {return 1;}
2. При смене индикаторов вызывать SECStatusBar::UpdateAllPanes (protected)
3. Для позиционирования созданных контролов перехватывать SECStatusBar::OnSize
Сделаем это подменой адреса в Message Map.
4. Для работы нестандартных индикаторов перехватывать SECStatusBar::OnUpdateCmdUI.
Ф-ия виртуальная, так что поменяем ее адрес в vTbl.
(Пока не реализовано)
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 28 апреля 2024, 15:27
Вышесказанное не относится к циклическому вызову void CStatusBarManager::UpdateElements() где и происходит перерисовка.
На доступной версии исходников 2.0.5.197, после добавления трассировки в окно сообщений, видно что вызов этого метода при открытии Журнала не происходит.
Могу выложить сборку, но смысла в этом нет, просто будет спамить еще и в окно сообщений...

А вот ресурс "ТекущийСтатус 11111111" выводится 3 раза, по одному разу на каждую из компонет: торговля, бухгалтерия, расчет (formex`ом).
Затем он исчезает из общей панели.
Как, почему и зачем? Это самый интересный вопрос: какой у этой панели есть признак для появления или подавления появления?
Не понятно где и как (видимо двойная перерисовка).
Зачем он нужен, науке тоже не известно, я ни разу такого состояния не видел.
Возможно это "мертвый" код... (судя по коду Орефкова, он сделал ограничение на вывод подобных панелей).

(0) Ищи спамера в WMMessage. Что-то же дергает 1С? И видимо дергает снаружи или лезет в память и ее портит.
Причин может слишком много для озвучивания: вирус, антивирус, КриптоПро, ТимВьювер и еще бесконечное количество вариантов.
Проверял на 2х разных серверах 2008R2, на WinXP, на Win7x32 и т.д. и т.п.
Сложно искать черную кошку в темной комнате, особенно когда ее там нет...

Можно попробовать трассировать ПриВыводеСтрокиСостояния, ПриПолученииКомандыГлавнымОкном и ПриПолученииСистемнойКомандыГлавнымОкном.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: xav от 28 апреля 2024, 15:45
Цитата: Djelf от 28 апреля 2024, 15:27Что-то же дергает 1С
Заметил на видео компоненту "WEB-расширение 2.0", может быть в ней дело?
(https://i.ibb.co/hyFjpx5/2024-04-28-01-25.png) (https://ibb.co/hyFjpx5)
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 28 апреля 2024, 16:11
Цитата: xav от 28 апреля 2024, 15:45Заметил на видео компоненту "WEB-расширение 2.0", может быть в ней дело?
У меня такой нет, но (0) может проверить.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 28 апреля 2024, 21:57
Расширение ни причем.

Поигравшись с атрибутами  :) , теперь не обязательно даже создавать объект.
Моргание сразу. А где хранятся настройки панели состояния?

Теперь совсем интересно.

объект не создавал -  моргание при старте.
Параметры FormEx Часы - теперь переключают моргание - есть - нет.
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 07 мая 2024, 22:53
На текущий момент, все что удалось обнаружить - идет постоянный вывод ресурса 57345. несколько раз в секунду
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Djelf от 08 мая 2024, 11:32
Нашел, https://www.1cpp.ru/forum/YaBB.pl?num=1210673051
Трясение строки зависит от вот этого:
Цитата:
Меню - Сервис - ПанелиИнструментов - Дополнительные - Единая настройка для всех режимов работы

Единая настройка = 1  -- строку состояния трясет
Елиная настройка = 0  -- не трясет.
Переключение этого флажка влияет на эффект сразу при закрытии окна опций.

В реестре это
Цитата:
[HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Options\TOOLBARS]
"IgnoreLayouts"="1"
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: mEnter от 08 мая 2024, 17:11
Точно. Спасибо. Надо это где то записать, чтобы не потерялось. :)
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: Злоп от 08 мая 2024, 19:23
Имеет смысл перенести по существу описание проблемы и её решение в ветку "дележка опытом" https://forum.dorex.pro/index.php?topic=94.15
Название: Re: ПанельСтрокиСостояния - Что то не так
Отправлено: MWW_Ruza от 15 мая 2024, 21:25
Во... Хорошо что эта тема есть :-)
Я тоже сегодня поймал у одного из клиентов. Просто загружен Формекс, никаких манипуляций со строкой состояния я не делаю там. Мигает, дергается, аж в глазах рябит... Спрашиваю у клиентта - что за нах? Говорит, а так всегда, уже давно... Хорошо вспомнил про эту тему, не глядя на текущую версию, просто заменил ФормЕкс на последний - и все в порядке, мигания как и не было :-) 
Видимо, я там когда-то поставил тот релиз, в котором этот баг был, и сразу не заметил.
Вот хорошо форум есть, если читаешь все, то в мозгу откладывается "на заднюю полку" даже то, что вроде-бы и не нужно, так, как давно исправлено :-)
Без этого, голову бы сломал в поисках, что приводит к такому эффекту.