Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Наследование фреймов - подводные камни [D7]


Страницы:   1 2

Ega23 ©   (2008-03-18 18:10:00) 

Ситуация следующая: надо унаследоваться от базового фрейма с парой контролов и несколькими методами-свойствами.
Как это сделать в принципе - понятно: наваял в design-time базовый фрейм, засунул в репозиторий, а дальше - New Item и включить inherit
вопрос в следующем: а что будет при командной разработке? Т.е. каким макаром импортировать базовый фрейм с dfm с одной машины на другую (или в систему контроля версий)?
Можно ли как-то унаследоваться от фрейма без возни с ресурс-файлами?


Семеныч   (2008-03-19 13:32:00) [21]

> Игорь Шевченко ©   (19.03.08 13:25) [15]

???
Как понять тебя, Саид? При чем тут переложение обнаружения ошибок?

Ты уверен, что хорошо понял суть подхода?

ПыСы.
Бедняги классики. Если бы они знали, КАК будут пользоваться их высказываниями, они, пожалуй, от оных воздержались бы.


Игорь Шевченко   (2008-03-19 13:25:00) [22]

Семеныч   (19.03.08 13:21) [14]

Ясно. Переложение обнаружения ошибок с этапа компиляции на этап выполнения.

"Бывает нечто, о чем говорят: "смотри, вот это новое"; но это было уже в веках, бывших прежде нас."
Еккл. 1.10


Семеныч   (2008-03-19 13:21:00) [23]

> Игорь Шевченко ©   (19.03.08 13:17) [12]

Все намного хитрее. Загруженная форма имеет свой ID и в зависимости от него может меняться логика работы кода. Так что тут далеко не рюшечки.


clickmaker   (2008-03-19 13:21:00) [24]


> Ну это и есть желание странного - одному с рюшечками, другому
> чтобы edit был справа

Скины. Есть любители этого дела )
Хотя, лично я тоже не разделяю... Если надо работать, то главное -- чтоб ехало, а не шашечки )


Игорь Шевченко   (2008-03-19 13:17:00) [25]

Семеныч   (19.03.08 13:02) [11]


> Очень просто - несколько хранящихся в БД форм имеют один
> и тот же класс, но могут иметь разное визуальное представление.
>


Ну это и есть желание странного - одному с рюшечками, другому чтобы edit был справа, третьему чтобы слева и красного цвета :)


Семеныч   (2008-03-19 13:02:00) [26]

> Игорь Шевченко ©   (19.03.08 12:50) [10]
> а как ее обеспечить при загрузке из базы - извини, не знаю :)

Очень просто - несколько хранящихся в БД форм имеют один и тот же класс, но могут иметь разное визуальное представление.


Игорь Шевченко   (2008-03-19 12:50:00) [27]

Семеныч   (19.03.08 10:18) [9]


> при желании закомпилированный в EXE код прекрасно срастается
> с DFM, которая хранится в БД. Иначе и быть не может: если
> код срастается с DFM, хранящимися в ресурсах программы,
> то почему бы ему не срастаться с DFM, хранящимися в БД?
> Не все ли равно, откуда грузить DFM? Коду это, в общем-то,
>  до лампочки - его только надо грамотно написать.


Не...есть еще один момент, что для каждого класса, кроме формы генерируется VMT - и он содержит в себе все published поля, методы и т.д. Грубо говоря, ты не можешь произвольному классу назначить произвольный ресурс,
они должны быть синхронизированы. При компиляции эта синхронизация обеспечивается,
а как ее обеспечить при загрузке из базы - извини, не знаю :)


Семеныч   (2008-03-19 10:18:00) [28]

> Игорь Шевченко ©   (19.03.08 09:57) [8]

> В древнем Китае желающим странного отрубали голову. Мудрые были
> люди, не находишь?

Нахожу, но при условии, что древние китайцы располагали абсолютно безошибочным определителем, того что есть странное, а что - нет.

В чем есть большие сомнения. Понятие "странное" весьма сильно зависит от задачи - а задачи очень разными бывают.

> А код тоже писать  и в базе хранить ?

Еще раз: при желании закомпилированный в EXE код прекрасно срастается с DFM, которая хранится в БД. Иначе и быть не может: если код срастается с DFM, хранящимися в ресурсах программы, то почему бы ему не срастаться с DFM, хранящимися в БД? Не все ли равно, откуда грузить DFM? Коду это, в общем-то, до лампочки - его только надо грамотно написать.

ПыСы
Кстати, ежели заглянуть в ToolsAPI, то там увидим, что file system можно переопределить - и тогда даже саму IDE можно научить работать с формами не из файлов, из БД (да и вообще откуда угодно). Прямо в design-time. Разработчики это предусмотрели - и мне не кажется, что они возжелали странного. Потому что задачи разными бывают.


Игорь Шевченко   (2008-03-19 09:57:00) [29]

Семеныч   (19.03.08 09:39) [7]


> При желании вполне срастается.


В древнем Китае желающим странного отрубали голову. Мудрые были люди, не находишь ?


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


А код тоже писать  и в базе хранить ?


Семеныч   (2008-03-19 09:39:00) [30]

> Игорь Шевченко ©   (19.03.08 01:54) [4]

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


Ega23   (2008-03-19 07:31:00) [31]


> Я вот не всегда понимаю, зачем хранить формы в базе :)


Я не храню форму в базе. В базе хранится значение некоего типа данных. Этому типу соответствует собственный PropertyFrame.


Германн   (2008-03-19 02:21:00) [32]


> Игорь Шевченко ©   (19.03.08 01:54) [4]
>
> Германн ©   (19.03.08 00:59) [3]
>
> Я вот не всегда понимаю, зачем хранить формы в базе :)
>
> А как же код к ним ?
>

Ну, это всё-таки не ко мне.


Игорь Шевченко   (2008-03-19 01:54:00) [33]

Германн ©   (19.03.08 00:59) [3]

Я вот не всегда понимаю, зачем хранить формы в базе :)

А как же код к ним ?


Германн   (2008-03-19 00:59:00) [34]


> Игорь Шевченко ©   (19.03.08 00:36) [2]

Имхо, Олежка предпочел другой путь:
http://delphimaster.ru/cgi-bin/forum.pl?id=1205868370&n=3
Наверно всё-таки не совсем разобрался. Возможно проблема была не в "Наследование фреймов"?


Игорь Шевченко   (2008-03-19 00:36:00) [35]

Вот честно не встречал подводных камней с наследованием фреймов.
Хотя, грешен, использую :)


> Разобрался, вопрос снят.


Из правил форума, пункт 9
"В случае, если поставленная проблема решена, написать в ветке решение — возможно Ваша информация поможет другим участникам. "


Ega23   (2008-03-18 19:10:00) [36]

Разобрался, вопрос снят.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо