|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.12.2011, 22:36 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
FindClass возвращает nil (Плагины)
Всем доброго. Появилась необходимость перевести один из проектов на плагинную систему, с тем чтоб не останавливая сам проект (он вращается на сервере, и выключение его для замены весьма напрягает) менять плуги, в случае их модификации.
Изначально думал использовать DLL, но решил еще покопать в сторону BPL. Поскольку не занимался раньше пакетами в Делфи, сейчас получается нахожусь на стадии изучения. Порывшись в инете нашел пару скудненьких описаний реализации плугов, и на основе их попробовал составить простенькую программулинку, имеющую вот такой вид: Модуль главной формы: Код:
Код:
Код:
Судя по всему я не учитываю еще чего-то, ибо FindClass не находит зарегистрированного класса. Вопрос - Чего еще я не учел?
I'm learning to live...
|
09.12.2011, 00:59 | #3 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> FindClass('tm2')
оно, по-моему, кейс-сенситивное UDP. Да, оно вызывает IndexOf() у стринглиста, так что должно быть как в исходнике: Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 09.12.2011 в 01:04. |
09.12.2011, 09:30 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
Цитата:
I'm learning to live...
|
||
09.12.2011, 10:20 | #5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,442
|
У GunSmooker'а целая эпопея на эту тему есть в блоге "Реализация системы плагинов" из 11 частей.
Жаль не законченная, но все же может быть вам и поможет. Последний раз редактировалось Человек_Борща; 09.12.2011 в 10:23. |
09.12.2011, 10:31 | #6 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Главное приложение должно быть Build with runtime packages
Не стесняемся, плюсуем!
|
09.12.2011, 10:34 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
Код:
Код:
отметка стоит? если нет, то надо поставить.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 09.12.2011 в 10:47. |
09.12.2011, 12:26 | #8 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> Build with runtime packages
кстати, да. В списке рантайм пакаджей должен быть rtl. Причём и проложение и плагин должны быть с вынесенным рантаймом, иначе получается, что они работают со своей копией Classes.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FindComponent возвращает nil при поиске компонентов на TabbebNoteBook | [MoNAMur] | Компоненты Delphi | 2 | 30.06.2011 15:58 |
Запись nil | Vladi_88 | Помощь студентам | 2 | 18.04.2011 12:48 |
Запрос возвращает пустую таблицу, если один из подзаросов возвращает пустую таблицу | ArtInt | SQL, базы данных | 9 | 12.05.2010 15:40 |
проверка на nil | kate158 | Общие вопросы Delphi | 2 | 07.12.2009 16:26 |
FindWindow('TMainForm',nil) а дальше куча одноименных кнопок | Стелс | Win Api | 17 | 01.11.2008 01:27 |