powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Imagelist пустой при открытии проекта
10 сообщений из 10, страница 1 из 1
Imagelist пустой при открытии проекта
    #39792767
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Столкнулся с непонятным поведением студии 10.2 Tokyo.
В проекте 5 форм.
Дочерние формы обращаются к главной
Код: pascal
1.
2.
3.
4.
5.
implementation

{$R *.dfm}

uses formMain;


На formMain находятся 3 Imagelist с разными размерами изображений - от 20*20 до 48*48.
Потребовалось изменить иконки в 1 ImageList - удалил, добавил, назначил, скомпилировал, запустил - всё ОК.

Закрыл проект, открываю заново - иконки старые!
WTF!
Удалил проблемный ImageList. Добавил новый, закинул иконки -удалил, добавил, назначил, скомпилировал, запустил - всё ОК.
Перезапускаю студию - пустой.

Удалил проблемный ImageList. Добавил новый, закинул иконки -удалил, добавил, назначил, скомпилировал, запустил - всё ОК.
Сохранил проект.
Открываю dfm - пусто!

Сталкивался ли кто-то с таким поведением? Может надо какие-то настройки изменить?
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39792800
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K,

Отвечу сам себе.
Оказалось, что при добавлении новых картинок в ImageList студия не воспринимает по каким-то причинам это как изменение dfm, т.е. кнопка Save All не загорается.

Но, если после добавления\изменения картинок на форму бросить и удалить хотя бы кнопку, то Save All загорается и новые иконки сохраняются и больше не теряются.
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39792817
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2Kесли после добавления\изменения картинок на форму бросить и удалить хотя бы кнопку
Может даже хватит передвинуть этот самый imagelist?
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39792822
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K, хочу обратить внимание, пока еще проект не разросся.
Вот это вот Дочерние формы обращаются к главной - архитектурно неправильно. Дочерние формы не должны ни чего знать о главной форме, а общие ImageList должны лежать на общем TDataModule который вообще ни на кого не ссылается, а все ссылаются на него.
Баг, конечно забавный, при чем помню он уже появлялся и исправлялся и даже в QC писал.
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39792843
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roschinspb...
Вот это вот Дочерние формы обращаются к главной - архитектурно неправильно. Дочерние формы не должны ни чего знать о главной форме (???) , а общие ImageList должны лежать на общем TDataModule который вообще ни на кого не ссылается (!!!) ,, а все ссылаются на него. (или юзают извне)
Баг, конечно забавный, при чем помню он уже появлялся и исправлялся и даже в QC писал.
Вообще говоря, MDI это ЗЛО.
Про дочерние формы - спорно. Вполне могут ссылаться на её свойства/методы через неё или через датамодуль.

imho
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39792876
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gatorroschinspb...
Вот это вот Дочерние формы обращаются к главной - архитектурно неправильно. Дочерние формы не должны ни чего знать о главной форме (???) , а общие ImageList должны лежать на общем TDataModule который вообще ни на кого не ссылается (!!!) ,, а все ссылаются на него. (или юзают извне)
Баг, конечно забавный, при чем помню он уже появлялся и исправлялся и даже в QC писал.
Вообще говоря, MDI это ЗЛО.
Про дочерние формы - спорно. Вполне могут ссылаться на её свойства/методы через неё или через датамодуль.

imho
Про MDI вроде не упоминалось, но в принципе, вполне можно всё, что компилятор схавает.
Но для того, чтобы избежать слишком большой связанности модулей (и перекрестных ссылок) надо сразу строить иерархию модулей как в армии: командир отдает приказы своим непосредственным подчиненным, они своим и т. д., но ни как не наоборот.
Т.е. общий код и данные выносятся в общие unit, каждый каждый unit делаем так, чтобы он как можно меньше использовал другие юниты, строго запрещаем перекрестные ссылки. Иначе начнется соддом и гоморра, когда для любого мелкого изменения надо будет поправить десять модулей, которые уже поправили несколько человек для своих мелких изменений, я уж не говорю о том, что может понадобиться перетащить какую-нибудь форму в другое приложение.
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39793154
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

wadmanМожет даже хватит передвинуть этот самый imagelist?
да, работает :)

roschinspb,

Спасибо за совет, учту.

Gator,
про MDI я не писал вроде
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39793610
crossa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
roschinspbДочерние формы обращаются к главной - архитектурно неправильно.
Вопрос: это неправильно только с точки зрения разработки программы? Повлияет ли это на скорость работы программы, на размер программы? Или компилятору это неважно?
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39793659
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossa,

Это повлияет на сложность поддержки программы
...
Рейтинг: 0 / 0
Imagelist пустой при открытии проекта
    #39796606
Фотография roschinspb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossaroschinspbДочерние формы обращаются к главной - архитектурно неправильно.
Вопрос: это неправильно только с точки зрения разработки программы? Повлияет ли это на скорость работы программы, на размер программы? Или компилятору это неважно?
На размер косвенно может повлиять. В большом проекте какие-то модули могут стать ненужными. Проект обычно состоит из нескольких приложений, которые могут использовать некие общие модули. Когда полный бедлам с обращениями из модуля в модуль практически невозможно разделить что нужно, что ненужно, в результате тащат "всёчтоможеткогдатопонадобиться".
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Imagelist пустой при открытии проекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]