Два TImageList у TListView, TToolbar и т.п. - зависает

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

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

Два TImageList у TListView, TToolbar и т.п. - зависает

Сообщение Browny » 04.09.2007 18:03:37

Скачал сегодня [04.09.2007] новый снапшот Lazarus. Не успел порадоваться тому, что существенно изменили TImageList и TListView (ура, иконки появились!), как заметил проблему (присущую и более старым снапшотам, в т.ч. от 08.08.2007:
Если установить LargeImages и SmallImages, а затем попытаться закрыть проект (вариант: удалить TListView и затем попытаться удалить один из TImageList), зависает IDE.

Заметил, что несовместное использование этих свойств ошибку не вызывает.
Также не вызывает ошибку, если тому и другому свойству присвоен адрес одного ImageList.

Сейчас [05.09.2007 14:16] переименовал тему, так как проблема не в TListView.

Так же проблема возникает и при использовании TToolBar. Как только используем два свойства с TImageList, а потом удаляем TToolbar и пытаемся удалить один из TImageList - сразу зависает весь IDE.

Всё это происходит в DesignTime - до RunTime даже не добрался ещё.

Вывод: проблемы с TImageList?

нашёл эту проблему в багрепорте. http://www.freepascal.org/mantis/view.php?id=9609

Проблема где-то в TCustomImageList.Destroy, вот в этом кусочке текста:
Код: Выделить всё
  while FChangeLinkList.Count>0 do
    UnregisterChanges(TChangeLink(FChangeLinkList[0]));
  FreeThenNil(FChangeLinkList);



Пока ищу пути решения...
Аватара пользователя
Browny
новенький
 
Сообщения: 37
Зарегистрирован: 31.08.2007 10:42:55

Сообщение Browny » 05.09.2007 18:00:23

Решение для TListView:
Патч: http://brokenplate.mpt.ru/filestorage/lcl-04.09.2007-svn11933-listviewfix-2.rar

Патч открыт для критики. Обязательно пишите замечания и предложения.
Аватара пользователя
Browny
новенький
 
Сообщения: 37
Зарегистрирован: 31.08.2007 10:42:55


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru