|
Modus ponens
модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
|
Плагины не могут изменять все что угодно в программе, это раз =)
Ну, логично было бы создать:
1. какой-нибудь ini файл, в который плагин при инсталяции делал запись о том, что его нужно загружать.
2. создать интерфейс, который плагин обязан имплементить с методами типа init и getAccessToMyApplication. Первый, соответственно, будет вызван вашим приложением после загрузки плагина, во втором вы передадите плагину доступ к тому, что посчитаете позволеным для него. И флаг active/inactive для того, чтобы плагин знал, когда его включили/выключили, соответственно, включился, перестал работать.
3. интерфейс доступа к плагинам из приложения с возможностями типа "выбрать", "включить", "выключить", "перезагрузить" и т.п..
Т.е. предположим, у вас в приложении есть холст, на котором можно рисовать. Нужно создать плагины-кисти. Тогда логика действий следующая:
- запускаем приложение.
- читаем ини-файл.
- грузим плагины и отображаем их в библиотеке.
- когда пользователь выбирает 1 из плагинов - передаем плагину ссылку на холст и "включаем" его.
- плагин получив ссылку работает с холстом, так, как будто это его объект, а не приложения.
- когда пользователь меняет выбор - выключаем плагин.
__________________
Hell is the possibility of sanity
|