(решено) Сбой перерисовки формы нашёл причину, как починить?

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

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

(решено) Сбой перерисовки формы нашёл причину, как починить?

Сообщение vitaly_l » 19.10.2015 20:02:10

Всем привет и хорошего настроения!

Несколько раз, читал в других топиках: "не перерисовывается форма... ", "исчезают элементы" и т.д.
Нашёл причину. Если с формы, на которой много всего, удалить какой-то элемент: Tmemo или TSynEdit, или кнопку...
а потом положить туда чего нить, например те же: Tmemo или TSynEdit, или кнопку... То иногда (не всегда), после компиляции, форма начинает забывать перерисовываться и элементы пропадают. Мышкой поводишь, прорисовываются. Минимизировать и потом максимизировать - тоже помогает.

На причину, из-за удаления и вставки элементов - наткнулся случайно: всё было нормально и работало, потом удалил элемент и поставил другой, потом восстановил... и бах... форма перестала перерисовываться... я восстановил код, получасовой давности из бэкапа, всё работает...

В общем суть описал выше, где-то там баг, какой-то... Вариант "очистить и собрать не помогает"...

Есть ещё какие-то варианты, "чистки" или перепроверки Лазаруского проекта???
Там по всей видимости, что-то не удаляется или прописывается куда-то...
Спасите помогите ПОЖАЛУЙСТА :cry:



.
Последний раз редактировалось vitaly_l 19.10.2015 22:57:14, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение zub » 19.10.2015 20:54:51

555 контролов в действии)) или сколько там вы умеете?
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение vitaly_l » 19.10.2015 21:13:29

zub писал(а):555 контролов в действии)) или сколько там вы умеете?

Ну... не 555 конечно, примерно 55. Но это не из-за этого, точнее оно прекрасно работает и с 88, до тех пор пока не поменяешь, что либо, на форме...
И, кстати, они были привязаны, редактором привязок - может он как-то не стёр данные?

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение Padre_Mortius » 19.10.2015 21:17:11

vitaly_l, а может просто привязки съехали?
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение Лекс Айрин » 19.10.2015 21:21:41

vitaly_l, или привязка переключилась на неизвестно какой из контролов (например, край формы) и некоторые просто оказались скрыты... перед удалением контрола, вообще-то надо его отвязать :| причем, привязанные к нему тоже.
попробуй найти контрол не через форму, а в дереве компонентов и посмотреть где он находится.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение vitaly_l » 19.10.2015 21:42:56

Padre_Mortius писал(а):а может просто привязки съехали?

не знаю :cry: Ещё заметил, что сбой (в основном) появляется при вызове MessageBox, а на остальных возможно просто не видно, т.к. поверх ничего не рисуется. Сейчас попробую ещё форму запустить.
Лекс Айрин писал(а):в дереве компонентов и посмотреть где он находится

А в дереве компонентов, чего я там увижу, кроме списка компонентов ?
Всё это невозможно определить визуально - это может сделать только программа.
Даже если я увижу, "что-то", как я пойму что это оно?
Что конкретно нужно искать?
Точнее: ЧТО ЭТО МОЖЕТ БЫТЬ ГИПОТЕТИЧЕСКИ ?
Или как выглядит съехавший с привязки контрол?


.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение pupsik » 19.10.2015 21:46:11

точнее может быть видео. Т.е. пошагово сняли и показали.
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение Лекс Айрин » 19.10.2015 22:00:06

vitaly_l писал(а):А в дереве компонентов, чего я там увижу, кроме списка компонентов ?


текущий компонент окаймляется четырьмя квадратиками. Причем, даже если он скрыт под другим компонентом. Ну и есть возможность вызвать контекстное меню компонента.

vitaly_l писал(а):Даже если я увижу, "что-то", как я пойму что это оно?
Что конкретно нужно искать?


На данном этапе Вам надо проверить какие компоненты не видны на форме и по какой причине (находятся под другим компонентом/за пределами формы(панели), скрыты или имеют нулевой (или просто слишком малый) размер) Если Вы исключите эти причины, то можно будет считать, что это сбой визуального редактора.

Очень плохо, что компонентов много.

ЗЫ: у меня, из-за неправильной компоновки, с формы исчезали элементы даже при наличии 10-15 визуальных компонент.

Добавлено спустя 9 минут 56 секунд:
Проверил насчет привязки нескольких чекбоксов. На просмотре скрытого под другим чекбокса не видно. При выделении его в дереве компонентов тоже. Фактически он исчез. Но! Если при активном редакторе привязок его выбрать в дереве компонент, то появится возможность перепривязать его к какому надо компоненту.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение zub » 19.10.2015 22:33:59

>>примерно 55. Но это не из-за этого,
Конечно не из-за этого, но сокращать все равно надо - огромное количество контролов показатель не крутости\сложности а совсем наоборот. а если там еще присутствуют гото))...
Просто из любопытства можно глянуть скрин этого художественно верного гуя?
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Сбой перерисовки формы - нашёл причину, как починить?

Сообщение vitaly_l » 19.10.2015 22:42:00

zub писал(а):но сокращать все равно надо

Не могу сократить, я спец по интерфейсам, но сократить количество не могу :(

zub писал(а):глянуть скрин этого художественно верного гуя?

не... не покажу... не дай бог, показать полуфабрикат... :arrow: вето... нельзя... :arrow: одно неверное замечание и работа может пойти на смарку.
Там ничего интересного, самые обычные кнопки, всё родное Лазарусовское.

Лекс Айрин писал(а):у меня, из-за неправильной компоновки, с формы исчезали элементы даже при наличии 10-15 визуальных компонент.

НАШЁЛ!!!!!!!!!! НАШЁЛ!!!!!!!!!! НАШЁЛ!!!!!!!!!! AAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!
ВЫ НЕ ПОВЕРИТЕ!!!!!! Пупсик попросил видео, я видео делать не стал а вместо видео:
Стал, делать новый проект, положил туда кучу всяких элементов и пытался добиться чтобы получился сбой.
Но у меня не получилось, принудительно сделать сбой. Запустил свой проект, в котором был сбой...
И.......... Вы не поверите..... вуаля.......... и всё заработало.... Лазарус где-то что-то поменял или точнее стёр и всё ЗАРАБОТАЛО!!!!!!!!!!!
АААААААААААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
В смысле УРА!!! :arrow: Всем замечательного вечера и спасибо!


Добавлено спустя 88 минут 88 секунд:
Re: (решено) Сбой перерисовки формы нашёл причину, как починить?
Видимо, tmp файлы... проект открывается по умолчанию и поэтому даже перезагрузка не помогала...



.
Последний раз редактировалось vitaly_l 20.10.2015 00:39:51, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: (решено) Сбой перерисовки формы нашёл причину, как почин

Сообщение Лекс Айрин » 19.10.2015 23:20:57

это плохо, что само собой получилось. Значит, не совсем понятна причина сбоя.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: (решено) Сбой перерисовки формы нашёл причину, как почин

Сообщение vitaly_l » 20.10.2015 00:33:52

Лекс Айрин писал(а):это плохо, что само собой получилось. Значит, не совсем понятна причина сбоя.

Я практически уверен, что это какой-то Лазарусовский tmp файл, т.к. я ничего в проекте не менял. У меня по умолчанию, загружается последний проект. А когда я проект поменял на новый, то всё починилось... Соответственно, я так думаю, что Лазарус хранит, какой-то tmp файл последнего проекта. Поэтому когда проект поменялся, поменялся и tmp файл. Если у кого-нить, ещё будет похожий сбой, попробуйте решить таким путём и отпишитесь. Если причина именно в этом, то это - всем будет нужно. И если предположение подтвердится, то можно будет написать на этот баг кляузу разработчикам.

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: (решено) Сбой перерисовки формы нашёл причину, как почин

Сообщение McLion » 20.10.2015 01:21:09

У меня тоже как то лазарус гнал... выдавал ошибку при компиляции, хотя еще минуту назад все шло. Перезгружал проект и все сново шло. А вот первый раз день потратил ища причину.
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: (решено) Сбой перерисовки формы нашёл причину, как почин

Сообщение Лекс Айрин » 20.10.2015 09:44:31

vitaly_l, по идее, если это темпори файл, то команда очистить и собрать должна его стирать.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: (решено) Сбой перерисовки формы нашёл причину, как почин

Сообщение vitaly_l » 20.10.2015 10:35:39

McLion писал(а):Перезгружал проект и все сново шло.

Лекс Айрин писал(а):если это темпори файл, то команда очистить и собрать должна его стирать.

Я пробовал: "очистить и собрать" - не помогало.
Я пробовал: "перезагружать Лазарус" - не помогало.
Я пробовал: "перезагружать Систему" - не помогало.

:!: :arrow: Помогло только, создание нового "пустого проекта" сохранение его и только после этого: загрузка проекта в котором был сбой. И только после этого с исчезанием интерфейса - всё починилось. Кроме tmp файлов, других идей у меня не возникает. :cry:


.
Последний раз редактировалось vitaly_l 20.10.2015 10:53:31, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

След.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 245

Рейтинг@Mail.ru