|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.11.2014, 18:28 | #121 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
И ещё вопросик - секции initialization и finalization в модулях не поддерживаются?
|
24.11.2014, 19:21 | #122 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Цитата:
Хотя, прочитал статью, у меня проекты с сотнями форм, пока ни каких неудобств от dfm/lfm ресурсов не испытывал за 15 лет... Последний раз редактировалось Rik; 24.11.2014 в 19:37. |
|
24.11.2014, 19:22 | #123 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Цитата:
initialization - есть, но после переноса на Lazarus не проверял работает или нет. |
|
24.11.2014, 21:39 | #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. |
24.11.2014, 22:24 | #125 | |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
Цитата:
Там динамически создаётся форма-родитель (абстрактный Участник), от неё отрождается форма физ. лица и выводится на экран. Преимущества в том, что в базовом классе можно реализовать общую бизнес-логику, ну и унифицировать интерфейс конечно. У меня у самого проект на 1000 форм да ещё и с визуальным наследованием почти 10 лет - в принципе всё нормально, но иногда из-за dfm и наследования глюки приходится огребать по полной, плюс достаточно много движений нужно сделать чтобы добавить лишнее поле на форму, особенно если это всё потом наследуется. Ну и к тому же есть определённые ограничения при проектировании интерфейса - нельзя например поменять в design-time родителя у унаследованного компонента и т.п. Вот сейчас пытаюсь реализовать то, что написано в статье. Идея в том, чтобы не просто выводить на форму контролы и раскидывать их красиво, а в том, чтобы буквально одной строкой кода добавить поле в датасет, создать контрол, связать их, заставить выполнять какую-то валидацию и т.п. Уже потом на контрол можно навесить кастомные обработчики и всё что угодно. Надеюсь это действительно ускорит и упростит поддержку продукта в будущем. Кстати - у меня initialization как-то не работает. Она нужна для того чтобы регистрировать классы в общем списке, а потом уже добавлять на главную форму в меню, дерево и куда угодно. Ну и ещё искать формы при вызове одной формы через другую. |
|
24.11.2014, 22:25 | #126 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
что-то файл с проектом не прикрепился. 2-я попытка.
|
26.11.2014, 18:17 | #127 |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
Добрый день!
Не нашёл поддержки создания классов по имени, т.е. что-то в этом духе: TCustomFrameClass(FindClass(AClassN ame : string)) Скажите - это не реализовано или есть какие-то альтернативные механизмы? |
27.11.2014, 09:24 | #128 | |
Форумчанин
Регистрация: 28.07.2007
Сообщений: 361
|
Цитата:
Только немного позже, что-то здоровье пошатнулось. |
|
27.11.2014, 09:58 | #129 | |
Пользователь
Регистрация: 13.11.2014
Сообщений: 17
|
Цитата:
От простуды пропейте настойку эхинацеи дней 10 - сильно поднимет иммунитет. Вам Юрий болеть нельзя, ваше здоровье принадлежит партии |
|
28.11.2014, 17:59 | #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 |