Jakie jest znaczenie numeru na końcu nazwy interfejsu? Widzę, że IHTMLDocument3-7
nie ma członków (see example for #5), a 8
ma członków związanych z gestami. Czy liczba pochodzi z wersji Windows?Dlaczego firma Microsoft ma IHTMLDocument, IHTMLDocument2, ..., IHTMLDocument8?
Odpowiedz
jest to ogólna cecha interfejsów COM publicznych.
Jeśli chcesz kompatybilności wstecznej, nigdy nie chcesz zmienić opublikowanego interfejsu, ponieważ oznaczałoby to cały kod, na który ludzie pisali, powiedzmy, IE 6 przestaje działać z IE 7, a wszyscy ich klienci denerwują się na nich, i oni się na ciebie wściekają.
Tak więc, jeśli IE 5 dodaje nowe funkcje, które wymagają ujawnienia, zamiast zmieniać IHTMLDocument
, tworzysz nowy interfejs i czynisz obsługę IE5 zarówno (przez dziedziczenie, QueryInterface
, lub jakiś bardziej jawny mechanizm). A kiedy IE 7.0.2 lub IE 8 lub Win XP lub cokolwiek dodaje jeszcze więcej nowych funkcji, tworzysz inny. I tak dalej.
Podczas gdy MS mogło wymyślić opisowe przyrostki zamiast po prostu numerów sekwencyjnych, prawdopodobnie byłoby to bardziej mylące niż pomocne. Tak więc, IHTMLDocument2
, IHTMLDocument3
, itp. To nazwy. Nic nie znaczą, z wyjątkiem kolejności, w jakiej zostały dodane.
Nie - to po prostu oznacza inną wersję interfejsu. To nie ma nic wspólnego z wersją systemu Windows (i, o to chodzi, mały/nic wspólnego z wersją MSHTML):
Jakie jest znaczenie numeru na końcu nazwy interfejsu?
Jest to standardowa konwencja wersjonowania interfejsów COM. IXXX2 rozszerza IXXX o nowe funkcje. IXXX3 rozszerza IXXX2 o nowe funkcje i tak dalej. Dzięki temu klienci mogą korzystać ze starszych funkcji bez zerwania po wydaniu nowych wersji i używać nowych funkcji w razie potrzeby, a nawet sprawdzić, czy te funkcje są dostępne przed próbą ich wywołania.
widzę, że IHTMLDocument3-7 nie mają członkowie
Skąd wziąłeś ten pomysł z? Spójrz na ich aktualne definicje. Pokazują wielu nowych członków z jednego interfejsu do drugiego.
Rzeczywiście. Patrzenie na mshtml.h w SDK jest często zabawne i pouczające. –
dzień http://msdn.microsoft.com/en-us/library/aa752541(v=vs.85).aspx
gdzie możemy zobaczyć:
Interfejs IHTMLDocument3 dziedziczy z interfejsu IDispatch ale nie ma dodatkowych członków.
może być trochę mylące dla początkujących do świata interfejsu.
IHTMLDocument3 ma więcej członków. Jakość dokumentacji micro $ oft jest po prostu niewiarygodna. – Gammadyne
- 1. Dlaczego firma Microsoft implementowała gniazda inaczej?
- 2. Dlaczego firma Microsoft zaleca pominięcie implementacji operatora równości dla typów odniesienia?
- 3. Dlaczego firma Microsoft nie obsługuje połączeń OLE DB z usługą SQL Azure?
- 4. C#: Dlaczego firma Microsoft nie dokonała dziedziczenia ReadOnlyCollection <T> z ReadOnlyCollectionBase?
- 5. Dlaczego firma Entity Framework nie obsługuje ODBC?
- 6. Czy Microsoft SkyDrive ma interfejs API?
- 7. Wykres kolumnowy Microsoft na wykresie ma luki
- 8. Dlaczego firma Razor nie może znaleźć mojego Pomocnika HTML?
- 9. Dlaczego firma maven używa mojego wewnętrznego repozytorium przed lokalnym repozytorium?
- 10. „Static/Constant” firma
- 11. Dlaczego firma Mocha nie raportuje czasu na każdy test?
- 12. Dlaczego firma Yeoman nie jest zalecana do tworzenia witryn internetowych?
- 13. Dlaczego firma Apple zaleca programowe tworzenie kontrolerów nawigacyjnych?
- 14. dlaczego firma Vagrant używa standardowego formatu dysku VMDK?
- 15. Dlaczego firma CeleryCAM nie współpracuje z usługą Amazon SQS?
- 16. Dlaczego firma Rust promuje instrukcje użycia z wyraźnym importem?
- 17. Dlaczego firma Logback SMTPAppender wysyła tylko 1 wiadomość e-mail?
- 18. Dlaczego firma Oracle publikuje za każdym razem 2 wersje JDK?
- 19. Czy są jakieś plany, aby firma Microsoft wspierała platformy testowe inne niż MSTest?
- 20. Dlaczego nie ma prymitywu Lisp nieokreślonego?
- 21. Dlaczego Direct3D nie ma własnej struktury wierzchołków?
- 22. Dlaczego Ruby ma Numeric.new?
- 23. Dlaczego nie ma IntStream.flatMapToObj()?
- 24. Dlaczego nie ma jednolitej_dystrybucji?
- 25. Kiedy firma Caffe tworzy kopie danych?
- 26. Notepad ++ ręcznie podświetlić zaznaczony tekst, taki jak Microsoft, ma
- 27. Microsoft Dynamics CRM 2013 Plugin - Nie ma aktywnego błędu transakcji
- 28. Czy Adobe ma program uruchamiania podobny do BizSpark firmy Microsoft?
- 29. Kiedy firma Akka osiągnie lepszą wydajność?
- 30. Czy firma Microsoft ma dokument dotyczący najlepszych praktyk dotyczący przechowywania danych aplikacji w porównaniu z danymi użytkownika na różnych platformach Windows?
Błąd dokumentu dla członków nie jest regresem, który został naprawiony ... –