Форум: "Основная";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
ВнизOleVariant (AutoCAD) Найти похожие ветки
← →
Milz (2002-03-11 15:41) [5]2 Андре
Не люблю много цитировать, но вижу придётся. Кто-то кому-то это уже объяснял следующим одразом:
--------------------------------------------------------
IDispatch - это не класс, а интерфейс объекта, генерируемого фабрикой класса.
Все диспинтерфейсы унаследованы от IDispatch. Для доступа к методам и свойствам конкретного интерфейса (наследника IDispatch) необходимо наличие библиотеки типов (TLB - Type Library) интерфейсных объектов, создаваемых классом (в дан.случае - компонентом класса WebBrowser).
Например, где-то в TLB объекта, реализуемого классом WebBrowser, имеется примерно такая декларация:
IWebDocument = interface(IDispatch)
... здесь объявлены методы интерфейса IWebDocument
end;
IWebDocumentDisp = dispinterface (соответствующий ему диспинтерфейс)
... а здесь соотв-но объявлены одноименные методы и public-св-ва интерфейса IWebDocument, доступ к которым возможен через механизм OLE Automation
end;
тогда обращение к интерфейсу объекта Document может выглядеть в твоем коде след.образом:
var
WebDocDispIntf: IWebDocumentDisp; // заметь - соотв.диспинтерфейс, а не просто интерфейс !!!!!
...
WebDocDispIntf := WebBrowser.Document as IWebDocumentDisp;
приведенный пример реализует раннее связывание (как более эффективное) и требует при компиляции наличия файла-прототипа библ-ки типов объекта WebBrowser. Файл-прототип или уже есть среди исходников компонента, либо его можно получить ср-вами Делфи в меню Import Type Library, указав в кач-ве источника файл, содержащий саму библку типов (например, WebBrowser.tlb).
В рез-те успешного импорта Делфи создаст файл, например, WebBrowser_TLB.pas, который необходимо подключить к проекту в соотв.модулях в разделах USES. По инф-ции в *.tlb и *_TLB.pas можно уже судить о методах и св-вах (и их типах) интересующих интерфейсов и применять их осознанно.
Многие *.tlb-файлы содержат и краткие описания всех объектов (методов, св-в, идентификаторов) в их составе. Делфи содержит встроенные ф-ции просмотра/модификации *.tlb-файлов.
--------------------------------------------------------
Т.е. твой пример может и работать, но более вероятно, что далее полезут ошибки, что вроде уже и начинается: дома работает, а на работе нет, а отличие всего-лишь в подверсии ОС, русификации акада и т.п. мелочах ...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.063 c