Cześć.
Jak się implementuje tzw. wtyczki? Chciałbym aby do mojej aplikacji dało się doinstalować jakąś funkcjonalność bez zmieniania kodu. Tak jak np. instalacja wtyczek do Photoshopa etc
Dzięki
Cześć.
Jak się implementuje tzw. wtyczki? Chciałbym aby do mojej aplikacji dało się doinstalować jakąś funkcjonalność bez zmieniania kodu. Tak jak np. instalacja wtyczek do Photoshopa etc
Dzięki
pod linuxa czy pod windowsa ?:>
W kazdym badz razie rozni sie to tylko nazwami komend w sumie....
ofc do wtyczek bym radzil uzyc biblioteki dynamiczne (DLL'e)...
pod winda uzywasz: LoadLibrary (do otwarcia biblioteki), GetProcAddress (do uzyskania adresy procki) i FreeLibrary (do zamkniecia biblioteki)
pod linuxem analogicznie: dlopen dlsym i dlclose
ogoolnie zasada jest taka:
tworzysz pare DLLek i w nich eksportujesz okreslona funkcje np wtyczka_info i wtyczka_funkcja
w glownym programie np skanujesz katalog w poszukiwaniu wszystkich dll (lub .so) i jesli napotkasz jakis, to sprawdzasz/i wywolujesz procke wtyczka_info z dllki.. jesli byla i zwrocila sensowne info to wrzucasz pointer do funkcji wtyczka_funckja do jakies tam listy funkcji dostepnych w twoim programie np z opisem z wtyczka_info...
dzieki temu program ma wiecej funkcji, i zawsze mozesz jakas dopisac i po prostu wrzucic dllke do katalogu bez rekompilacji progsa zeby cos tam wiecej robil...
jezeli chcesz zebym ci to dokladniej wytlumaczyl to sprooboj mnie na #4programmers na ircu dorwac (nick Gynvael lub GynC0d3)
Dzięki za szybką odpowiedź.
Wolałbym żeby to było niezależne od platformy ;). Tak jak java. W sumie to nie do końca zrozumiałem. Chociaż mam pewien pomysł jak zrobić coś w tym stylu.
Tylko teraz mam inny problem :-/
Nie mogę odczytać obiektów z pliku.
Wyrzuca mi wyjątek
java.io.InvalidClassException: NazwaKlasy; no valid constructor
Hmm przykro mi, na javie sie zupelnie nie znam