![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#121 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
![]()
И ещё вопросик - секции initialization и finalization в модулях не поддерживаются?
|
![]() |
![]() |
![]() |
#122 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
![]() Цитата:
Хотя, прочитал статью, у меня проекты с сотнями форм, пока ни каких неудобств от dfm/lfm ресурсов не испытывал за 15 лет... Последний раз редактировалось Rik; 24.11.2014 в 19:37. |
|
![]() |
![]() |
![]() |
#123 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
![]() Цитата:
initialization - есть, но после переноса на Lazarus не проверял работает или нет. |
|
![]() |
![]() |
![]() |
#124 |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
![]()
Вы бы выложили в любом случае, хоть посмотреть как вы функции используете, которые сегодня добавил... Я в Lazarus недавно, ещё не совсем освоился..
Я обновиk движок, добавил в TWinControl 'funciton AddControl(AControlClass, AComponentName: string; R: TRect): TControl' Это должно облегчить создание контролов программно. Пример использования: http://visual-t.ru/files/ControlCreate.lm9 ps. преимущество подобных систем: можно расширять функционал библиотек, фактически не изменяя их самих, получается надстройка... пример кода: Код:
Последний раз редактировалось Rik; 24.11.2014 в 21:43. |
![]() |
![]() |
![]() |
#125 | |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
![]() Цитата:
Там динамически создаётся форма-родитель (абстрактный Участник), от неё отрождается форма физ. лица и выводится на экран. Преимущества в том, что в базовом классе можно реализовать общую бизнес-логику, ну и унифицировать интерфейс конечно. У меня у самого проект на 1000 форм да ещё и с визуальным наследованием почти 10 лет - в принципе всё нормально, но иногда из-за dfm и наследования глюки приходится огребать по полной, плюс достаточно много движений нужно сделать чтобы добавить лишнее поле на форму, особенно если это всё потом наследуется. Ну и к тому же есть определённые ограничения при проектировании интерфейса - нельзя например поменять в design-time родителя у унаследованного компонента и т.п. Вот сейчас пытаюсь реализовать то, что написано в статье. Идея в том, чтобы не просто выводить на форму контролы и раскидывать их красиво, а в том, чтобы буквально одной строкой кода добавить поле в датасет, создать контрол, связать их, заставить выполнять какую-то валидацию и т.п. Уже потом на контрол можно навесить кастомные обработчики и всё что угодно. Надеюсь это действительно ускорит и упростит поддержку продукта в будущем. Кстати - у меня initialization как-то не работает. Она нужна для того чтобы регистрировать классы в общем списке, а потом уже добавлять на главную форму в меню, дерево и куда угодно. Ну и ещё искать формы при вызове одной формы через другую. |
|
![]() |
![]() |
![]() |
#126 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
![]()
что-то файл с проектом не прикрепился. 2-я попытка.
|
![]() |
![]() |
![]() |
#127 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
![]()
Добрый день!
Не нашёл поддержки создания классов по имени, т.е. что-то в этом духе: TCustomFrameClass(FindClass(AClassN ame : string)) Скажите - это не реализовано или есть какие-то альтернативные механизмы? |
![]() |
![]() |
![]() |
#128 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
![]() Цитата:
Только немного позже, что-то здоровье пошатнулось. |
|
![]() |
![]() |
![]() |
#129 | |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
![]() Цитата:
От простуды пропейте настойку эхинацеи дней 10 - сильно поднимет иммунитет. Вам Юрий болеть нельзя, ваше здоровье принадлежит партии ![]() |
|
![]() |
![]() |
![]() |
#130 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
![]()
Юрий, а вы не рассматривали вариант разделения модулей проекта на разные файлы, а в файле проекта содержались бы только ссылки на эти файлы? Загрузка проекта изменится совсем немного - ссылки будут заменены текстом из файлов модулей. При сохранении тоже больших проблем не вижу. Модуль разбивать на lfm и pas не нужно - также сохранять всё в одном xml-файле.
Мне кажется при совместной работе над большим проектом это будет гораздо удобнее - реже придётся разрешать конфликты и т.п. проблемы. А также будет легче вносить изменения на стороне заказчика и совмещать их потом с общим проектом. При желании такой способ сохранения можно сделать опциональным - хочешь так, а хочешь по другому. Что вы думаете по этому поводу? |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что же я написал? | Sibedir | Свободное общение | 26 | 04.10.2010 05:01 |
Я написал текстовую игру... | saggy | Софт | 11 | 05.06.2010 22:32 |
Написал редактор карт | sasha1993 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 18.07.2009 21:31 |
Написал прогу в паскале... | deu4er | Помощь студентам | 2 | 19.11.2008 20:08 |
Написал бэкдор, оцените | KORN | Софт | 7 | 18.11.2007 08:55 |