Mnie zastanawia sama idea tej wtyczki. Wtyczki tworzy się jako rozszerzenia jakichś programów, tak jest np. w Photoshop, Expressivo itp. Można sobie napisać wtyczkę rozszerzając w ten sposób możliwości programu.
Do jakiego programu Ty tworzysz tą wtyczkę?
Jeżeli ta Twoja tak zwana wtyczka ma udostępniać pewne gotowe elementy, funkcje itp. i może być w ten sposób wykorzystywana w różnych programach, to mi to wcale nie wygląda na wtyczkę lecz zwykłą bibliotekę DLL. Wtyczka też może być biblioteką DLL jak to jest w przypadku np. Expressivo, ale biblioteka i wtyczka nawet jeżeli maja podobne konstrukcje to służą czemu innemu, gdyż wtyczkę tworzy się jako rozszerzenie konkretnego programu, a biblioteka to zbiór metod, funkcji, obiektów, itp. które mogą byc wykorzystywane w różnych programach.
Pozwolę przytoczyć sobie definicję wtyczki z Wikipedi:
|
Wtyczka (ang. plug-in) to dodatek do istniejącego programu rozszerzający jego możliwości lub automatyzujący żmudne czynności.
Stosowanie wtyczek jest coraz częstszym zabiegiem wśród twórców programów, a zwłaszcza tych tworzących otwarte oprogramowanie.
Zaletą takiego rozwiązania jest to, że użytkownicy mogą wybierać pomiędzy funkcjami, które chcą mieć w programie, a których nie. Poza tym odciąża to autora od pisania całego kodu programu, a zrzuca część tego obowiązku na zewnętrznych programistów.
Aby możliwe było pisanie wtyczek, programista musi udostępnić i udokumentować API, czyli interfejs programistyczny.
Architekturę bazującą na wtyczkach często wykorzystują komunikatory internetowe, które obsługują różne usługi komunikacyjne, jak też oferują dodatkową funkcjonalność – np. wysyłanie SMS-ów. |
oraz definicję biblioteki DLL również z Wikipedi:
|
DLL (z ang. Dynamic-Link Library - biblioteka łączona dynamicznie) - w środowisku Windows biblioteka współdzielona (z ang. shared library), która przechowuje implementacje różnych funkcji (podprogramów) programu i/lub zasoby programu. Funkcje i zasoby zawarte w bibliotece DLL mogą być wykorzystane bezpośrednio lub pośrednio (za pośrednictwem innej biblioteki DLL) przez dowolny plik wykonywalny, sama biblioteka DLL nie jest samodzielnym programem.
Funkcje biblioteki dynamicznej (DLL) mogą być jednocześnie (w tym samym czasie) importowane przez wiele programów (stąd określenie: biblioteka współdzielona), dzięki temu pamięć operacyjna jest mniej obciążona. Biblioteki DLL mogą być importowane statycznie bądź dynamicznie. W przeciwieństwie do bibliotek statycznych, które są łączone z programem w czasie jego konsolidowania, biblioteki DLL importowane statycznie są oddzielnym fragmentem programu i ich modyfikacja nie wymaga przeprowadzenia ponownej konsolidacji, jednak problem z biblioteką (brak importowanych funkcji lub problem z wczytywaniem biblioteki) całkowicie uniemożliwia uruchomienie programu. Biblioteki importowane dynamicznie są wczytywane do pamięci operacyjnej dopiero w momencie określonym przez programistę (przeważnie gdy faktycznie są potrzebne) - stąd określenie: biblioteka dynamicznie łączona - przez co pliki DLL często są wykorzystywane w różnych programach jako wtyczki.
W systemie Windows biblioteki DLL mają rozszerzenia .dll, .ocx (gdy biblioteka jest kontrolką ActiveX), .cpl (gdy biblioteka jest rozszerzeniem Panelu Sterowania), .drv (gdy jest przestarzałym sterownikiem), i mogą być wykorzystane w programach napisanych w różnych językach przeznaczonych na platformę Windows, m.in. w Visual Basicu, C/C++/C#, Object Pascalu (Delphi) czy asemblerze. |
Z czym mamy do czynienia w Twoim przypadku?