K2T.eu :: Forum

Specjalne => API/SDK => Wątek zaczęty przez: Dziaddu w Stycznia 24, 2009, 18:43:26 pm

Tytuł: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 24, 2009, 18:43:26 pm
Projekt naprostszej wtyczki, która przekazuje informacje o sobie komunikatorowi i wyświetla MessageBox przy ładowaniu i wyładowywaniu, stworzony dla Code::Blocks (MinGW):
http://dziaddu.eportal.com.pl/wtw/wtycz ... plugin.zip (http://dziaddu.eportal.com.pl/wtw/wtyczki/wtw_basic_plugin.zip)

W przypadku błędu "illegal byte sequence" należy w ustawieniach edytora zmienić domyślne kodowanie na UTF-8.

------
Oryginalny post:

Kaworu, mógłbyś dorzucić do instalatora kod prostej wtyczki (albo nawet kilku, na wzór SDK z Tlenu)? Próbowałem spłodzić coś samemu (wzorując się na tlenowych wtyczkach), ale próba odpalenia wtw, gdy wtyczka jest w katalogu, kończy się windowsowym komunikatem o błędzie programu.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 19:30:12 pm
Sprawdź zalącznik, tylko jest pod VS/MFC, ale powinieneś się połapać.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Wojciech w Stycznia 24, 2009, 20:28:25 pm
A beda inne przykłady? Na inne kompilatory? Delhpi, BCB?
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 20:30:12 pm
Nie, z odrobiną logiki i wiedzy reszta sobie poradzi.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Wojciech w Stycznia 24, 2009, 20:35:32 pm
To niedobrze :P
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 24, 2009, 21:06:48 pm
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 21:14:24 pm
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: malcom w Stycznia 24, 2009, 21:54:58 pm
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 24, 2009, 21:57:22 pm
Próbowałem nawet z plikiem def, ale tak, jak napisał Mal, nie jest on potrzebny.

Próbowałem wszystkich kombinacji z __stdcall i __declspec(dllexport) i wygląda na to, że tylko __declspec(dllexport) daje jakąkolwiek reakcję, niestety w postaci wysypania komunikatora... Gdy się doda do tego _stdcall, to znowu nie ma żadnej reakcji (status wtyczki: Błąd).
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 22:07:31 pm
Podrzuć binarkę.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Wojciech w Stycznia 24, 2009, 22:08:54 pm
No własnie i teraz kaw zobacz, jezeli taki Marcin w snesie dziaddu nie potrafi sobie porta zrobic, a on mocną głowe ma to inni tez moga miec problemy wiec moim skromnym zdaniem przydałby sie port do tych podstawowych delphi i bcb w snesie przkład. Ja sam bym z BCB skorzystał :P. bo jak dziaddu nie moze to ja tym bardziej nie bede potrafił :P
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 24, 2009, 22:21:26 pm
Marcin to tylko amator, o programowaniu wie tyle, ile sobie wygooglał, albo ile mu ktoś podpowiedział ;) Więc to, że Marcin ma problem, o niczym nie świadczy :P

Binarki: http://dziaddu.eportal.com.pl/wtw/bin.zip (http://dziaddu.eportal.com.pl/wtw/bin.zip)
Pierwsza to __declspec wysypująca komunikator, druga __stdcall, trzecia __declspec(dllexport) __stdcall, a czwarta to __declspec(dllexport) <zmienna> __stdcall.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 22:22:46 pm
Nie za bardzo rozumiem co tutejszy problem ma do wersji BCB ;P

A) nie mam BCB
B) nienawidze BCB
C) Nie mam delphi
D) nie znam delphi (poza podstawowymi podstawami)
E) Nienawidze delphi
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 22:25:31 pm
Cytat: "Dziaddu"
Pierwsza to __declspec wysypująca komunikator, druga __stdcall, trzecia __declspec(dllexport) __stdcall, a czwarta to __declspec(dllexport) <zmienna> __stdcall.

Druga, trzecia i czwarta mają dekoracje:

wtw_basic_plugin.plug plugInfo pluginLoad@8 pluginUnload@4 queryPlugInfo@8

Pierwsza to

__cdecl, a ma byc __stdcall.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 24, 2009, 22:32:51 pm
Grrrr... Dlaczego MinGW jest takie głupie? Przecież druga to __stdcall, wszystkie były tworzone z plikiem def.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 24, 2009, 22:34:31 pm
Bo to GCC? Sprawdź extern "C".
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 24, 2009, 22:40:28 pm
Z extern "C" też próbowałem ;) Pogooglam trochę, może coś znajdę.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: malcom w Stycznia 24, 2009, 22:41:49 pm
E, tez jestem Marcin :)

Cytat: "Kaworu"
Nie za bardzo rozumiem co tutejszy problem ma do wersji BCB ;P

A) nie mam BCB
B) nienawidze BCB
C) Nie mam delphi
D) nie znam delphi (poza podstawowymi podstawami)
E) Nienawidze delphi
Wszystkie punkty poprawne.

Cytat: "Dziaddu"
Grrrr... Dlaczego MinGW jest takie głupie? Przecież druga to __stdcall, wszystkie były tworzone z plikiem def.
Sprawdze w wolnej chwili pod gcc.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 25, 2009, 21:11:38 pm
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: n3oo w Stycznia 27, 2009, 16:02:54 pm
@kaw: a dało by rade udostępić ten base_plug w formie w której się od razu kompiluje (bez kwiatków) ? :P próbuje pod VS 2008 i już poprawiłem nawet błędne odwołania do nagłówków, skopiowałem API do folderu do którego są odwołania w projekcie :P ale nadal brakuje  "/libUI/interface.h" z pliku WndOptionsS.h :)
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 27, 2009, 16:05:26 pm
Usuń odwołanie do libUI, powinno działać ;P
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: wlodixon w Stycznia 27, 2009, 22:27:40 pm
Cytat: "n3oo"
@kaw: a dało by rade udostępić ten base_plug w formie w której się od razu kompiluje (bez kwiatków) ? :P próbuje pod VS 2008 i już poprawiłem nawet błędne odwołania do nagłówków, skopiowałem API do folderu do którego są odwołania w projekcie :P ale nadal brakuje  "/libUI/interface.h" z pliku WndOptionsS.h :)

Jakimś psim swędem kasowałem, kroiłem itp. i w końcu skompilował mi to VC 2008.

W poniższym linku wszystko co pokroiłem razem z API by nic nie zabrakło.

http://http://rapidshare.com/files/190397820/_base_plug.rar

A poniżej screen mojego nędznego działania.

(http://http://img145.imageshack.us/img145/9008/plugwi5.th.jpg) (http://http://img145.imageshack.us/my.php?image=plugwi5.jpg)
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 28, 2009, 08:51:16 am
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 28, 2009, 13:46:04 pm
Cytat: "Dziaddu"
Przykład od Kaworu ma sporo zbędnego kodu, więc raczej nie jest dobrym pomysłem zaczynanie od niego.
Wiesz, tego co wysłałem to j używam jako bazy do pluginów, mam w im od razu opcji i ustawiony plik konfiguracyjny ;P
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Stycznia 28, 2009, 16:42:05 pm
Ale dla kogoś, kto chce zrozumieć jak to działa, ma zbyt dużo zaciemniaczy ;)
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 28, 2009, 17:00:26 pm
To dodałem Twoj kod do Wiki ;p
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: wlodixon w Stycznia 28, 2009, 17:54:30 pm
Do jakiego Wiki - ja chyba o czymś nie wiem.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 28, 2009, 18:20:06 pm
Dużo osob nie wie ;P
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: wlodixon w Stycznia 28, 2009, 18:23:13 pm
A jakiś link można prosić?
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Stycznia 28, 2009, 18:28:29 pm
Ale tam w sumie na razie niczego ciekawego nie ma.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: wlodixon w Stycznia 28, 2009, 20:50:45 pm
Rozumiem...
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Simek w Stycznia 28, 2009, 22:14:25 pm
Wiki: [...]

Oj trudno było się domyśleć ; P

// kaw usunął link, bo wcale nie ma ochoty aby na razie google go złapały ;p
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Lutego 15, 2009, 21:43:05 pm
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Lutego 15, 2009, 22:04:13 pm
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Lutego 15, 2009, 22:18:32 pm
Cytat: "Kaworu"
keidys sie żąstanawiałem and zostawieniem tylkow wersji x64. ;P
Ani się waż! ;)

Dzięki za informacje. Po skompilowaniu i próbie włączenia Zhvir dostaje informację, że nie znaleziono jakiegoś modułu, chociaż z niczego niestandardowego nie korzystałem. Czyli jeszcze jeden problem (z którym powalczę we wtorek najwcześniej), ale przynajmniej już to widzi jako binarkę x64 :D
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: dk3mpa w Marca 08, 2009, 09:11:18 am
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Dziaddu w Marca 08, 2009, 11:23:33 am
Jeśli pod VS, to nie mam (bo nie mam VS; kod pisałem na podstawie tego, co działa w C::B, zmieniając tylko konwencje wywołań funkcji na takie, które podobno działają w VS). Może Kaworu albo Malcom pomogą.

Jeśli pod C::B, to patrz: pierwszy post. Jeśli znasz się na rzeczy i wiesz jak zrobić dll-kę, to ten szkielet powinien Ci wystarczyć, żeby przerobić go na coś działającego pod VS.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: muni0alfons69 w Czerwca 23, 2009, 21:10:18 pm
Cytat: n3oo
@kaw: a dało by rade udostępić ten base_plug w formie w której się od razu kompiluje (bez kwiatków) ? :P próbuje pod VS 2008 i już poprawiłem nawet błędne odwołania do nagłówków, skopiowałem API do folderu do którego są odwołania w projekcie :P ale nadal brakuje  "/libUI/interface.h" z pliku WndOptionsS.h :)

Jakimś psim swędem kasowałem, kroiłem itp. i w końcu skompilował mi to VC 2008.

W poniższym linku wszystko co pokroiłem razem z API by nic nie zabrakło.


Wiem, że trochę bawię się w archeologa, ale czy mógłbym prosić o re-upload?
Choć podejrzewam, że ten szkielet nie będzie kompatybilny ze zmienionym API...
Czy istnieje możliwość pozyskania zgodnej, aktualnej wersji?
Z góry dziękuję. ;)
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: wlodixon w Czerwca 25, 2009, 16:32:27 pm
Cytuj
Wiem, że trochę bawię się w archeologa, ale czy mógłbym prosić o re-upload?
Choć podejrzewam, że ten szkielet nie będzie kompatybilny ze zmienionym API...
Czy istnieje możliwość pozyskania zgodnej, aktualnej wersji?
Z góry dziękuję. ;)

Wysłałem Ci na maila - zobacz czy dziala i ewentualnie wrzuc na forum :)
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: muni0alfons69 w Czerwca 25, 2009, 18:57:23 pm
Dzięki wielkie, pozwól, że dopiero jutro przyjrzę się temu czemuś bliżej. ;)
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: bomblix w Czerwca 26, 2009, 19:17:50 pm
Też by mi się przydał aktualny podstawowy kod wtyczki ...
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Raistlin w Października 27, 2009, 09:05:37 am
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Października 27, 2009, 09:21:35 am
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Raistlin w Października 27, 2009, 09:37:12 am
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Października 27, 2009, 09:45:36 am
a) chciałbym odpalić drugie wtw z innym profilem "do zabawy" (są gdzieś przełączniki wtw opisane?), nie swoim domyślnym

No bo nikt by się opisu nie spodziewał w helpie... http://wiki.k2t.eu/wiki/WTW_-_Linia_komend

b) .pdb (http://en.wikipedia.org/wiki/Program_database) mógłbyś udostępnić :)
Prędzej symbol serwer... bostrasznie mis ie chce ze storage wyciagac konkretne symbole... ;P

c) w sensie "Local Windows Debugger", command: WTW? Bo jako startup dać kod WTW, to spoko nie ma problemu, ale z execa?
Poprostu odpalić wtw w debugerze, zaladuje sobie wtyczkie mozesz sobie ją debgować, byle ona była odpowiednio skompilowana.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Raistlin w Października 27, 2009, 10:04:56 am
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Października 27, 2009, 11:29:25 am
Cytuj
c:\Program Files\K2T\WTW>wtw.exe --profile "debug" --clone
Jak chcesz drugą instancję, z reszta zhvir do dzis twierdzi, ze jemu działa...

Cytuj
To albo w opisie by się przydało, że musi być inny profil
Chyba logiczne? Program ma tam pootwierane pliki"exclusive" i jak mu sie inny do nich dobierze to się zaczną cuda dziać, z utratą danych włącznie. Jeden profil - jeden raz załadowany.

Cytuj
albo ignorować .lock.
Broń boże, .lock jest właśnie po to aby uniknąć problemów kiedy usiłujesz załadować już załadowany profil. Jest ładnie kasowany kiedy profil jest wyładowany a jakby nie został to pid w nim zapisany tez ma znaczenie ;P

Cytuj
Dalej nie kumam, jak chcesz "odpalić wtw w debugerze" bez źródła.
Normalnie, VS wyświetli komunikat, że wtw.exe nie ma symboli i czy chcesz kontynuować. Chcesz. Debugowanie wtyczki idze wtedy całkiem dobrze, robiłem tak z tlenem ;P

Cytuj
(bo skąd WTW ma wiedzieć, że ten dll jest pluginem skoro nie ma go w Plugins?)
No rzecz jasna,musi miec odpowiednie rozszerzenie i w plugins być. VS sobie doskonale poradzi ze zidentyfikowaniem cotojest,ksad sie wzieło i ze to nasze ;P

Cytuj
a dwa >= Vista się będzie pluć, że piszę po Program Files).
To nadaj uprawienia administratora. Albo sobie zrob osobna kopie wtw do celów debugowawczych.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Raistlin w Października 27, 2009, 11:33:26 am
Cytuj
c:\Program Files\K2T\WTW>wtw.exe --profile "debug" --clone
Jak chcesz drugą instancję, z reszta zhvir do dzis twierdzi, ze jemu działa...
Bo działa - jak masz już profil debug. Samo --profile (okno wyboru profilu wg dokumentacji) nie wywołuje okienka wyboru/tworzenia profilu.
Tytuł: Re: Podstawowy kod wtyczki
Wiadomość wysłana przez: Kaworu w Października 27, 2009, 11:36:17 am
Bo działa - jak masz już profil debug. Samo --profile (okno wyboru profilu wg dokumentacji) nie wywołuje okienka wyboru/tworzenia profilu.
No, "załaduj profil" musi mieć profil do załadowania.

I fakt, w tym miejscu dokumentacja kłamie, "--selectProfile" wymusza okno.
Tytuł: Odp: Podstawowy kod wtyczki
Wiadomość wysłana przez: switalski.piotr w Października 13, 2011, 21:05:16 pm
No cóż... zainstalowałem VS 2008 E, poszukałem na wiki podstawowej wtyczki, tu na forum znalazłem wtwPlugTemplate i co? odinstalowałem całe to badziewie :) Czas na jakiś prosty tutek: jak od samiutkiego początku do pluki *.plug skompilować to co dziadu, czy adrian stworzyli. Począwszy od włączenia VS, czy odpalenia któregokolwiek pliku. Jestem kaskaderem i lubię wyzwania, ale tu zbyt wiele wydaje się obce. Niech powstanie plik wtyczki, który pokaże mi to okno "Hello world"... tylko tyle :)
Tytuł: Odp: Podstawowy kod wtyczki
Wiadomość wysłana przez: adrian_007 w Października 14, 2011, 09:33:19 am
http://wtw.adrian-007.eu/pages/code.php