Архитектура Plug-in

Общие принципы, проектирование, модуляризация, темплейты и шаблоны
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Архитектура Plug-in

Сообщение Artem.spb »

Stkn писал(а):
taras_33 писал(а): В проекте Basic я сделал класс Basic наследником Support Class.
может, наоборот?
проблема в том, что Support Class наследует нескомилированный Basic, а в Plugin попытка работать со скомпилированной библиотекой.
При смене наследования от "готовой" библиотеки проблема уходит
Stkn
assistant
assistant
Сообщения: 128
Зарегистрирован: 25 янв 2009, 11:08
Версия LabVIEW: 2014

Re: Архитектура Plug-in

Сообщение Stkn »

Artem.spb писал(а):
Stkn писал(а):
taras_33 писал(а): В проекте Basic я сделал класс Basic наследником Support Class.
может, наоборот?
проблема в том, что Support Class наследует нескомилированный Basic, а в Plugin попытка работать со скомпилированной библиотекой.
При смене наследования от "готовой" библиотеки проблема уходит
Не понял. У меня Basic - наследник, Support - родитель. Вроде как и у вас. Plugin по архитектуре должен быть наследником от Basic из пакетной lvlibp
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Архитектура Plug-in

Сообщение taras_33 »

У меня Basic - наследник, Support - родитель. Вроде как и у вас. Plugin по архитектуре должен быть наследником от Basic из пакетной lvlibp
Все верно.
Перекомпилируйте все lvlibp и должно все быть ок. Если нет - выложите проект, посмотрим что не так..
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Stkn
assistant
assistant
Сообщения: 128
Зарегистрирован: 25 янв 2009, 11:08
Версия LabVIEW: 2014

Re: Архитектура Plug-in

Сообщение Stkn »

Не выходит
Вложения
PPL Test.zip
(167.31 КБ) 158 скачиваний
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Архитектура Plug-in

Сообщение taras_33 »

Как то так
Plugin.png
Вложения
PPL Test.zip
(250.93 КБ) 136 скачиваний
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Stkn
assistant
assistant
Сообщения: 128
Зарегистрирован: 25 янв 2009, 11:08
Версия LabVIEW: 2014

Re: Архитектура Plug-in

Сообщение Stkn »

taras_33 писал(а):Как то так
Plugin.png
Спасибо. Для моей задачи, это, в принципе, решение. Но в целом, конечно, получается костыль. Если захочется добавить ещё один вход в виде объекта, например, то придётся все эти независимые классы встраивать в иерархию
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Архитектура Plug-in

Сообщение taras_33 »

Довольно часто использую эту архитектуру, с не столько сложной, сколько объемной наследственностью, скажем отец -> сын и 25 внуков (плагинов) и заметил такую вещь, суть вот в чем. После внесения каких то изменений (добавление методов), например у сына. Чтобы второй и пятый внук могли ими воспользоваться, то перекомпилировать кроме сына нужно только второго и пятого внука. Отца и остальных внуков не обязательно все и так работает, хотя вышестоящая библиотека (сын) обновилать. Кроме того, что бы в папках не создавались копии вышестоящих библиотек и их потом не удалять вручную, пользуйтесь Post-Build Action
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Ответить

Вернуться в «Модели программирования»