Antonariy писал(а):Значит, ты всё-таки не понимаешь разницу между классом и интерфейсом
Интерфейс содержит описание, класс - реализацию. Но tlb никакой реализации содержать не может. Где же находится сам HTMLDocument? В реестре я его не нашел.
В TLB, как ни странно.
- Код: Выделить всё
[
uuid(25336920-03F9-11CF-8FD0-00AA00686F13)
]
coclass HTMLDocument {
[default] dispinterface DispHTMLDocument;
[default, source] dispinterface HTMLDocumentEvents;
[source] dispinterface HTMLDocumentEvents2;
interface IHTMLDocument2;
interface IHTMLDocument3;
interface IHTMLDocument4;
interface IHTMLDocument5;
interface IHTMLDOMNode;
interface IHTMLDOMNode2;
};
CLSID 25336920-03F9-11CF-8FD0-00AA00686F13 в твоём реестре есть?
Antonariy писал(а):А сама mshtml.dll какая-то странная. Вроде com, но ссылка не ставится.
Ссылка ставится не на код ("реализацию"), а на TLB ("описание"). Обычно TLB внедряют в ресурсы DLL, но в случае MSHTML они разделены.
Antonariy писал(а):Или по-твоему, все интерфейсы IHTMLDocumentX накопительные?
Я этого не утверждал. Я только предположил, а не является ли IHTMLDocument (а заодно и аналоги) накопительным.
Не является. Ни он, ни аналоги, ни один COM-интерфейс вообще.
Всё ещё не веришь?