Autor Wątek: Problem z przykładową wtyczką...  (Przeczytany 2271 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline Miziak

  • Junior Developer
  • Narybek
  • *
Problem z przykładową wtyczką...
« dnia: Kwiecień 01, 2012, 09:31:14 am »
Witam mam problem z podstawową wtyczką mam taki kodzik:
#define UNICODE
#define _UNICODE
#include <windows.h>
#include <wtwPlugin.h>

WTWPLUGINFO plugInfo = {
   sizeof(WTWPLUGINFO), // rozmiar struktury
   L"blabla", // nazwa wtyczki
   L"", // opis wtyczki
   L"", // copyrights
   L"", // autor
   L"", // mail
   L"", // strona www
   L"", // link do pliku AU, podac 0 jezeli nie uzywamy AU
   PLUGIN_API_VERSION, // wersja api z ktora zostal skompilowany plug
   MAKE_QWORD(0, 0, 0, 1), // wersja plug'a
   WTW_CLASS_UTILITY, // klasa plug'a
   0, // fcja ktora wtw wywola jezeli user bedzie chcial zobaczyc about plug'a
   L"{575CED39-D2A1-4382-AEA5-30349A3CB6D8}", // GUID, wymagane...
   0, // zaleznosci (tablica GUID'ow, ostatnia pozycja MA byc 0
   0, 0, 0, 0 // zarezerwowane
};

bool __stdcall DllMain(HANDLE hInst, DWORD reason, LPVOID /*reserved*/){
switch(reason){
case DLL_PROCESS_ATTACH:
            break;

case DLL_PROCESS_DETACH:
            break;

default:
            break;
}

return true;
}

extern "C"{

WTWPLUGINFO* __stdcall queryPlugInfo(DWORD /*apiVersion*/, DWORD /*masterVersion*/)
{
    return &plugInfo;
}

int __stdcall pluginLoad(DWORD /*callReason*/, WTWFUNCTIONS* f){
    return 0;
}

int __stdcall pluginUnload(DWORD /*callReason*/){
    return 0;
}

}

Bodajże pochodzi on ze strony użytkownika adrian_007.
Problem polega na tym, że robię sobie projekt biblioteki dll > dodaje API WTW do projektu > kompiluję kod > ok mam dll'kę > zmieniam rozszerzenie na *.plug > wrzucam do katalogu `Plugins` w WTW i otrzymuje taki oto komunikat:



Dodam, że do kompilacji użyłem MinGW nie MSVC czy to może być źródłem tego problemu, czy popełniłem jakiś inny błąd?

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: Problem z przykładową wtyczką...
« Odpowiedź #1 dnia: Kwiecień 01, 2012, 12:32:44 pm »
Daj DllMain też w extern "C", pozatym to zwraca BOOL, a nie bool. Dodatkowo dodaj plik wtwPlugin.def
LIBRARY	"plugExample"

EXPORTS
queryPlugInfo
pluginLoad
pluginUnload
I skompiluj przez
g++ wtwPlugin.cpp -shared -O2 -o plugExample.plug wtwPlugin.def

Offline Miziak

  • Junior Developer
  • Narybek
  • *
Odp: Problem z przykładową wtyczką...
« Odpowiedź #2 dnia: Kwiecień 01, 2012, 20:04:09 pm »
Ściągnąłem MSVC(2010) huh podołałem, może ktoś mi powiedzieć słówko o tym elemencie struktury info:
   L"{575CED39-D2A1-4382-AEA5-30349A3CB6D8}",					// GUID, wymagane...
Czy to się generuje czy mogę sobie to jak mi się podoba wymyślić etc.

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Odp: Problem z przykładową wtyczką...
« Odpowiedź #3 dnia: Kwiecień 01, 2012, 20:38:03 pm »
W VS: Tools -> Create GUID

I tam już sobie poradzisz (registry format). ;P

Offline Miziak

  • Junior Developer
  • Narybek
  • *
Odp: Problem z przykładową wtyczką...
« Odpowiedź #4 dnia: Kwiecień 01, 2012, 22:13:45 pm »
Skąd wytrzasnąć HWND głównego okna WTW aby stworzyć dialog jako jego dziecko(znaczy dialog umiem zrobic ale chodzi mi tylko o HWND :P)?? :P

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: Problem z przykładową wtyczką...
« Odpowiedź #5 dnia: Kwiecień 02, 2012, 08:02:47 am »
albo przez api (jest fcja) albo
::FindWindowW(L"{B993D471-D465-43f2-BBA5-DEEA18A1789E}", 0)

Offline Miziak

  • Junior Developer
  • Narybek
  • *
Odp: Problem z przykładową wtyczką...
« Odpowiedź #6 dnia: Kwiecień 02, 2012, 17:51:50 pm »
Ściągnąłem specjalnie MSVC++ 2010 i zaraz je chyba wykopię mam wersję Express a w niej z kolei nie ma ani MFC ani ATL no chyba się pochlastam zaraz...

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: Problem z przykładową wtyczką...
« Odpowiedź #7 dnia: Kwiecień 02, 2012, 21:18:00 pm »
musisz miec windows sdk zainstalowane i ustawione
poza tym zalecane jest visual c++ 2008 (ten sam runtime co wtw ma)

Offline Miziak

  • Junior Developer
  • Narybek
  • *
Odp: Problem z przykładową wtyczką...
« Odpowiedź #8 dnia: Kwiecień 03, 2012, 08:44:28 am »
 Z tego co wyczytałem w necie  to w tej darmowej wersji MSVC 2010 nie ma ani MFC ani ATL sprawdziłem doswiadczalnie(w folderze WindowsSdk) nie ma naglówków tych bibliotek, jest only CLI czyli ten runtime .NET dla C++, cóż a w tej darmowej wersji 2008 są te biblioteki??

Offline mrg

  • Master Developer
  • Młodzież
  • *
  • osobisty mój tekst jest tekstem osobistym ;Dxd
    • Plugins for WTW.im
Odp: Problem z przykładową wtyczką...
« Odpowiedź #9 dnia: Kwiecień 03, 2012, 12:24:15 pm »
w 2008 też nie ma ;p
// Pisuje wtyczki z których sam potem korzystam (głównie takie), znajdziesz je na forum i TUTAJ
// Wsparcie/Dotacje :: Błędy/Prośby

Offline Miziak

  • Junior Developer
  • Narybek
  • *
Odp: Problem z przykładową wtyczką...
« Odpowiedź #10 dnia: Kwiecień 03, 2012, 13:28:22 pm »
Cóż więc wersja proffesional(czy jak ona się tam zwie) torrenty pozostaje xD
Dzięki za informacje :)

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: Problem z przykładową wtyczką...
« Odpowiedź #11 dnia: Kwiecień 03, 2012, 18:23:41 pm »
ekhm... visual c++ 2005 express edition + wtl
(ja np uzywam wtl do robienia okienek)