Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-80648
ShaH
2002-01-08 11:08
2002.03.25
Проблема с соединением сокетов


1-80474
Alek_1
2002-03-12 13:18
2002.03.25
Как скопировать файл?


1-80591
AL Greko
2002-03-09 15:41
2002.03.25
CAD Library


1-80581
greenrul
2002-03-10 18:06
2002.03.25
Вывод текста и картинок в DrawGrid


1-80529
Лена
2002-03-13 10:05
2002.03.25
Построение графика в Chart





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский