Skocz do zawartości


Zdjęcie

PluginApi (Delphi)


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

#1 WiTuŚ

WiTuŚ

    AQQ Maniak

  • Przyjaciel
  • 2021 postów

Napisano 2013.08.05, 16:39

Nie wiem czemu ale od dłuższego czasu kiedy chce wrzucić najnowsze PluginApi do projektu wtyczki to przy kompilacji dostaję np. taki błąd:
 
[dcc32 Error] CloseChatNotifier.dpr(90): E2003 Undeclared identifier: 'AQQ_SYSTEM_COLORGETHUE'

Ale nie wiem o co w tym chodzi. Mam jakieś stare PluginApi i jak w nim sam dodałem nowo dodane funkcje/notyfikacje to działa.

Użytkownik WiTuŚ edytował ten post 2013.08.05, 16:41


#2 Pol

Pol

    Adept

  • Wtyczkopisarz
  • 380 postów

Napisano 2013.08.05, 16:50

Najwidoczniej Oconnel nie zaktualizował pliku nagłówkowego na stronie SDK :P



#3 WiTuŚ

WiTuŚ

    AQQ Maniak

  • Przyjaciel
  • 2021 postów

Napisano 2013.08.05, 16:54

Tutaj chyba o coś innego chodzi tak mi się wydaje.

EDIT: Przeglądam PluginApi i faktycznie nie ma tych funkcji dodanych. [admin - ciach! - ostrzeżenie przed ostrzeżeniem]

A ten błąd?

[dcc32 Error] CloseChatNotifier.dpr(77): E2010 Incompatible types: 'NativeUInt' and 'Cardinal'

Na starym PliginApi nic nie wywala.


Użytkownik Oconnel edytował ten post 2013.08.06, 09:36


#4 Oconnel

Oconnel

    AQQ Developer

  • Właściciel
  • 4620 postów

Napisano 2013.08.06, 09:35

Nowe API jest dostosowane również dla wtyczek 64 bitowych, więc pewne deklaracje zostały lekko zmienione. Co oczywiście pociąga za sobą potrzebę wprowadzenia kilku drobnych poprawek w deklaracjach zmiennych również po stronie wtyczki.


MyPortalYouTubeTwitter54slty.png

#5 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5025 postów

Napisano 2013.08.06, 10:16

W którym miejscy jest dostosowane? Przecież jest jeszcze wiele miejsc (większość), która do 64-bitów w ogóle nie jest przygotowana (mowa tu m.in. o użyciu zmiennej LPARAM/WPARAM). Przez takie coś nawet w C++ są problemy - wtyczki 64-bitowe się wywalają o czym Ci pisaliśmy już na priv.



#6 Oconnel

Oconnel

    AQQ Developer

  • Właściciel
  • 4620 postów

Napisano 2013.08.06, 10:29

Jeżeli się wywalają to nie jest to wina API. LPARAM/WPARAM natomiast to właśnie wprowadzone przeze mnie modyfikacje które standaryzują API dla potrzeb wtyczek 64 bitowych. To poprawne deklaracje. Więcej możesz poczytać na ten temat tutaj: http://docwiki.embar..._64-bit_Windows (sekcja WinAPI issues).


MyPortalYouTubeTwitter54slty.png

#7 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5025 postów

Napisano 2013.08.06, 11:40

Co z tego, że ja u siebie w nagłówkach mam odpowiednie zmienne skoro w kodzie AQQ jest babol dla x64? :) Zresztą pisałem Ci o tym razem z Pol na priv i napisałeś, że nie chce Ci się tego zmieniać we wszystkich miejscach...



#8 Oconnel

Oconnel

    AQQ Developer

  • Właściciel
  • 4620 postów

Napisano 2013.08.06, 12:33

Liczy się jedynie funkcja CallService którą wywołuje każdy plugin. I ona jest odpowiednio dostosowana. Tak samo AQQ przy wysyłaniu powiadomień również wysyła je korzystając z LPARAM/WPARAM, więc w zasadzie całe API działa na tych zmiennych. Nie wiem o czym piszesz :)


MyPortalYouTubeTwitter54slty.png

#9 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5025 postów

Napisano 2013.08.06, 13:06

Struktura PluginHook / PluginTriple nadal wykorzystuje zmienną DWORD / Integer, to samo funkcja NotifyEventHooks, chociaż ona nie działa - nie wiadomo po kiego to jest.


Użytkownik Beherit edytował ten post 2013.08.06, 13:07


#10 Pol

Pol

    Adept

  • Wtyczkopisarz
  • 380 postów

Napisano 2013.08.07, 15:08

Jest bo w Mirandzie było ;) W sumie jeżeli nie są wykorzystywane to może lepiej się ich pozbyć - nie wprowadzały by tyle chaosu.


  • Beherit lubi to




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

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