Skocz do zawartości


Zdjęcie

Wyładowanie wtyczki

wtyczka plugin delphi sdk wyładowanie zawiesza aqq

  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Sauler

Sauler

    Bywalec

  • Użytkownik
  • 210 postów

Napisano 2014.06.15, 22:42

Witam ;)

Mam pewien problem którego nie potrafię rozwiązać, a mianowicie moja wtyczka przy próbie wyłączenia zawiesza całe AQQ. Co ciekawe problem ten występuje tylko jeśli choć raz otworzę okno ustawień wtyczki. W funkcji Unload odłączam się od wszystkich notyfikacji z których korzystałem oraz zwalniam okno ustawień. Wygląda to tak:

 

funkcja Load:

function Load(Link: PPluginLink):Integer; stdcall;
begin
  PluginLink := Link^;
  PluginLink.HookEvent(AQQ_SYSTEM_COLORCHANGE, OnColorChange);
  PluginLink.HookEvent(AQQ_SYSTEM_THEMECHANGED, OnThemeChange);
  PluginLink.HookEvent(AQQ_SYSTEM_MODULESLOADED, OnModulesLoaded);
  Result := 0;
end;

funkcja Unload:

function Unload:Integer; stdcall;
begin
  Result := 0;
  PluginLink.UnhookEvent(THandle(@OnColorChange));
  PluginLink.UnhookEvent(THandle(@OnThemeChange));
  PluginLink.UnhookEvent(THandle(@OnModulesLoaded));
  if Assigned(frmSettings) then FreeandNil(frmSettings);
end;

Ktoś może napotkał taki problem lub wie jak go rozwiązać ?

Z góry dziękuję za pomoc :)



#2 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5031 postów

Napisano 2014.06.15, 22:58

Chyba niepotrzebnie na końcu usuwasz wskaźnik do formy - będzie ona i tak wyładowywana z pamięci przy wyładowaniu wtyczki jak tego nie będziesz miał.
  • Sauler lubi to

#3 Sauler

Sauler

    Bywalec

  • Użytkownik
  • 210 postów

Napisano 2014.06.15, 23:01

Dzięki, działa bez problemu :)







Również z jednym lub większą ilością słów kluczowych: wtyczka, plugin, delphi, sdk, wyładowanie, zawiesza, aqq

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych