Wróciłem sobie właśnie z urlopu i spotkała mnie miła niespodzianka, bo w API WTW już czekała na mnie funkcja pozwalająca rejestrować własne metody importu, jakiej powstanie kiedyś zasugerowałem (muszę przyznać, że support tu jest świetny, choć na PFSendPicture pewnie jeszcze trochę poczekam ;)). Zacząłem więc przerabiać swoją wtyczkę impKonnekt, by skorzystała jak należy z tego nowego mechanizmu. I wszystko jest niby OK, lecz zauważyłem pewien drobny problem w architekturze tego rozwiązania. Mianowicie użytkownik jest w stanie otworzyć sobie okno archiwum oraz okno opcji (tam, gdzie może wyładowywać wtyczki) równolegle. Lista metod w oknie archiwum jest tworzona przez wywoływanie hook-ów przy otwieraniu okna i gdy już została utworzona, to wtyczka nic już do niej nie ma (w szczególności nie jest w stanie siebie samej stamtąd wyrzuć). I jeśli teraz mam na liście metod w oknie archiwum metodę z mojej wtyczki, a równolegle w drugim oknie tę wtyczkę wyładuję, to po uruchomieniu tej metody z okna archiwum jest - jak można się było zresztą spodziewać - piękny crash.
Może to problem trochę "akademicki", bo zakłada dość niestardardowy sposób postępowania, jednak dobrze by było jakoś ten rodzaj sytuacji lepiej obsłużyć - może choć wykrywać, że funkcja, którą wywołujemy, przynależy do wtyczki już wyładowanej i wyświetlać błąd?