-
Вопрос в том, что я не могу "найти" компонент в другом модуле программы. Например, создаю Windows Forms приложение, Delphi 2006 for .NET. На него кидаю CheckBox. Затем добавляю новую форму (File - New - Other...) для (как я планировал :) хранения общих компонент. На нее "ложу" ImageList. Возвращаюсь в главную форму, File - Use Unit, подключаю фторой модуль с ImageList. В Object Inspector у CheckBox нахожу свойство ImageList, но в выпадающем списке ImageList, который на второй форме я не нахожу :(
В чем проблема? Поправьте мои кривые руки, по-возможности :)
-
> В чем проблема?
Ни в чём. Так и должно быть.
-
Почему так должно быть? То есть надо все накидывать в один модуль? Бардак же получится? Есть варианты?
-
> Почему так должно быть?
Потому что form designer должен сгенерировать код навроде:
чегоТоТам.ImageList := экземплярКакогоТоImageList;
А теперь попробуйте ответить на вопрос: какой там должен стоять экземпляр? Не знаете? Ну вот дизайнер тем более не знает...
-
Да, верно. Значит, вариантов нет?
-
Почему нет? Есть. Собрать общие компоненты в один компонент (кстати, форма "для хранения общих компонент" -- это слишком жирно ;) компонента хватит). В конструкторе формы создать экземпляр (или откуда-то взять уже готовый -- это только вам известно, как именно), и поприсваивать все свойства. Или добавить к форме свойство, а в сеттере этого свойства присваивать.
Если что-то нельзя сделать в дизайнере, это не значит, что вообще нельзя сделать ;)
-
Спасибо, DiamondShark. Вот только тогда все это ручками все набивать придется. А уж очень хотелось все в дизайнере сделать :)
|