Странная ошибка при минимизации окна

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Странная ошибка при минимизации окна

Сообщение Alex2013 » 09.08.2023 22:32:06

Ладно бы где-то в "функциональном коде" но это тупо стандартный комбобокс на панельке .
Изображение
Вот откуда ? :roll:

Добавлено спустя 33 минуты 14 секунд:
Не просто при минимизации а при минимизации "максимизированного окна".... но все равно не понятно . Что еще за цикл такой ? :idea:
("Никогда такого не было и вот опять ! ") :idea:
viewtopic.php?f=5&t=9865
Alex2013
долгожитель
 
Сообщения: 3049
Зарегистрирован: 03.04.2013 11:59:44

Re: Странная ошибка при минимизации окна

Сообщение delphius » 09.08.2023 23:29:25

Alex2013 писал(а):Что еще за цикл такой ?

не оно? :idea:

Друг также дал рекомендации общего свойства:
Сообщение "TControl.InvalidatePreferredSize loop detected" обычно означает, что возникла ошибка во время попытки пересчета предпочтительного размера элемента управления (Control) в Delphi (или C++Builder) программе. Эта ошибка возникает, когда при пересчете размеров элемента управления происходит бесконечный цикл вызовов функции InvalidatePreferredSize.

Чтобы решить эту проблему, вам следует рассмотреть следующие шаги:

Проверьте Ваши Методы пересчета размеров (PreferredSize): Если у вас есть методы, которые пересчитывают предпочтительные размеры элемента управления, удостоверьтесь, что они не вызывают сами себя или друг друг друга в бесконечном цикле.

Удалите Лишние Вызовы InvalidatePreferredSize: Проверьте код, где вызывается функция InvalidatePreferredSize, и убедитесь, что она вызывается только при необходимости, а не в каждом цикле обновления.

Проверьте Иерархию Элементов Управления: Проверьте, нет ли у вас элементов управления, которые содержат друг друга вложенными, и при этом каждый из них вызывает InvalidatePreferredSize у своих потомков, создавая цикл обновления.

Изучите События Изменения Размеров: Если вы используете какие-либо события изменения размеров элементов управления, удостоверьтесь, что они не приводят к бесконечным циклам вызовов InvalidatePreferredSize.

Используйте Отладку: Если проблему сложно выявить, используйте инструменты отладки для отслеживания порядка вызовов функций и определения точного места, где происходит бесконечный цикл.

Проконсультируйтесь с Форумами или Коллегами: Если вы не можете найти причину ошибки, обратитесь за помощью на форумы разработчиков Delphi или обратитесь к коллегам, возможно, кто-то из них уже сталкивался с подобной проблемой.

Обычно эта ошибка связана с неверной логикой обновления размеров элементов управления или с неправильной последовательностью вызовов функций. Рассмотрите вышеуказанные шаги для выявления и устранения проблемы в вашем коде.
delphius
постоялец
 
Сообщения: 129
Зарегистрирован: 18.03.2020 13:40:11

Re: Странная ошибка при минимизации окна

Сообщение Alex2013 » 10.08.2023 11:57:42

Спасибо но...
1 "Не оно" ошибка вообще не имеет отношения к написанному мной коду . ( Да я " сворачиваю и разворачиваю" панели но только по нажатию на кнопку или панель то есть реакции на "минимизацию" в моем коде просто нет ( единственная реакция которая теоретически могла на что-то влиять это контроль размера захваченной консоли но это не в тему потому что глюк возникает и без ее запуска )
2 Я в принципе догадался в чем дело просто привязки выравнивания в чуть запутанной иерархии панелек установлены криво .
Зы
Тадам ! Глюк "превозмог" добавив еще одну панельку . Суть прикола была в том что свойством эннабел "адресной панели" управляет браузер ( это код "выдран с мясом из примера" по этому внимания на него не обратил ) и при минимизации там что-то не заладилось.
Alex2013
долгожитель
 
Сообщения: 3049
Зарегистрирован: 03.04.2013 11:59:44


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 4

Рейтинг@Mail.ru