Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Identyfikatory
Konnekt | Forum > Developerzy > Tworzenie wtyczek
KoSiarzPL
Zastanawia mnie od dłuższego czasu jedna rzecz. W sdk możemy przeczytać iż identyfikatory należy tworzyć przez "NET * 1000 + wartosc". Tylko, że net nie jest identyfikatorem wtyczki. Jest identyfikatorem sieci. Jeśli wtyczka chce należeć do sieci to i tak musi uważać by identyfikatory sie nie pokrywały. Może warto by wprowadzić dla wtyczek oddzielną wartość jak ID?
Aule
Identyfikatory są właściwie dowolne, ale raczej wskazane jest używanie Net*1000+wartość. Jeżeli jest to wymagane, możesz sie do niego nie zastosować, np gdy istnieje prawdopodobieństwo powtórzenia się identyfikatora.
KoSiarzPL
O to właśnie chodzi, że "NET * 1000 + wartosc" NIE gwarantuje unikalnego identyfikatora akcji. Ja osobiście jestem zwolennikiem aby akcje miały swój unikalny identyfikator należący do zarkresu danej wtyczki.
winthux
Przecież gwarantuje unikalność. Zwróć uwagę, że wartość NET musi być różna dla każdej wtyczki!
skolima
ejże, poczekaj.

Wtyczka może przecież co innego zwracać jako obsługiwana sieć, a co innego używać jako swój NEt, ne? Czy np. ggimage nie zwraca 10, czyli NET_GG?

EDIT:A jednak zwraca swój net.
Sija
skolima: i co z tego ? przeciez wszystkie identyfikatory tworzone w ten sposob sa oparte o NET wtyczki, a nie obslugiwane sieci ktore nie maja tu nic do rzeczy...
Aule
QUOTE(winthux @ 3.01.2006 - 20:41)
Przecież gwarantuje unikalność. Zwróć uwagę, że wartość NET musi być różna dla każdej wtyczki!
*

QUOTE(SDK)
"Sieć" (Net) wtyczki oznacza przynależność do pewnej grupy.
Na przykład jeden protokół może być obsługiwany przez kilka niezależnych od siebie wtyczek o tej samej wartości Net.

Wartość sieci używana jest przede wszystkim podczas komunikacji pomiędzy wtyczkami. W momencie wysłania IMessage , rdzeń szuka wtyczki o podanej wartości Net obsługującej typ wysyłanej wiadomości. W ten sposób , można rozsyłać w systemie wiadomości do wtyczek nawet nie wiedząc o ich istnieniu (a przede wszystkim o ich identyfikatorach) ...
Net nie gwarantuje unikalności. DzielniK zwraca net 10, bo musi obsługiwać komunikat IM_MSG_CHARLIMIT w sieci GG. Wewnątrz wtyczki, do identyfikatorów używam innej wartości net, żeby nie było ew. konfliktów z wtyczką gg.dll.
KoSiarzPL
No nareszcie Aule powiedzial dokłądnie o co mi chodzi.
Więc jak Hao będzie z tym w nowym API? Wprowadzać dodatkowe ID w swoich wtyczkach czy nie? Jeśli tak to przydało by się prowadzić taką samą, być może ważniejszą listę identyfikatorów wtyczek. W końcu ile wtyczek potrzebuje unikalnej wartości NET?
Olórin
Najlepiej identyfikatory tekstowe. Z drugiej strony istnieje tak na prawde bardzo mało wtyczek które mają ten sam NET, a nawet jakby - autorzy mogą się dogadać z której puli będą korzystać.
dulek000
Dogadywanie się to dosyć nieeleganckie rozwiązanie.
KoSiarzPL
Z jednej strony chodzi o to by zagwarantować unikalność identyfikatorów. Dogadywanie się raczej nie powinno wchodzić w grę.
Z drugiej strony wartość NET powinna być wykorzystywana zgodnie z przeznaczeniem. Jeśli wtyczka nie obsługuje sieci to nie powinna używać NET w sposób który by wskazywał, że wtyczka ta jakąś sieć obsługuje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.