Cześć. Wszędzie, gdzie czytam, piszą że interfejs musi mieć swój własny GUID. OK. Ale zastanawia mnie pewna rzecz. Prawdopodobnie zupełnie niepotrzebnie, ale jak się czegoś nie wie, lepiej się upewnić, niż potem płakać.
Załóżmy taką sytuację.
Jest aplikacja, która zawiera deklarację interfejsu: IMyIface, którego GUID to ABCD(dla uproszczenia)
Jest też biblioteka DLL, która też zawiera deklarację tego samego interfejsu IMyIFace, którego GUID to też ABCD.
Czy wszystko jest OK?
Innymi słowy, jeśli ja jestem twórcą aplikacji, to czy twórcom DLLi muszę podawać ten GUID, czy każdy z nich musi tworzyć nowy? Wydaje mi się, że muszę podawać ten swój, byłoby to naturalne i logiczne.
Teraz pytanie nr 2 z nieco innej beczki.
Załóżmy, że interfejs w pierwszej wersji zawierał deklaracje metod o nazwach: A i B.
I tak też jest stworzony DLL.
Teraz robię nową wersję aplikacji i dorzucam do interfejsu metodę C(czy zmieniam GUID?). Rzecz jasna, prędzej, czy później stara dllka się wywali lub będzie działać niepoprawnie. To teraz pytanie, czy można zrobić coś, żeby ta stara dllka działała poprawnie? Albo jakieś sprawdzenie, jak wygląda jej interfejs(czy ma metodę C, czy nie).