Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > TMozillaBrowser


Автор: December 23.12.2005, 01:39
Greetings All!
Узнав недавно о существовании сабжа, потыркал его чуток окружающей реальностью, о чём и пишу. Начало темы http://forum.vingrad.ru/index.php?showtopic=73626, окончание вы сейчас читаете.

Download, install and setup
Всё гладко. Оно даже на форму ляпнулось без проблем, несмотря на уверения некоторых авторов некоторых статей. И заработало. Полазил по форуму, посравнивал с обычной лисой - никаких отличий.

Advanced operations
Первый упс - положенный на форму компонент не хочет фокусироваться, для того, чтобы посмотреть его свойства, надо лезть в Object Treeview. OnBeforeNavigate сработал нормально. DownloadComplete вызывается несколько раз (2+), OnProgressChange не всегда происходит.

Совсем Advanced operations,
а именно - поддержка DOM. Тут второй, третий и так далее упс, причём с таким грустным смайликом неподалёку. Проверял на приложении, которое не делает ничего военного - так, банальные операции. Получить коллекцию элементов определённого типа тэгов не удалось - document.all.items не поддерживается, ломанулся в IHTMLDocument3 за getElementsByTagNames - тоже нот суппортед. Получил чё-то по name'у (в хтмле это <input type="text" name="myname") но не смог получить IHTMLInputElement. Другие способы ввода информации в форму тоже не работают (в смысле не поддерживаются DOMом TMozillaBrowser).

Ничего не помогло, пошёл читать FAQ.
Выяснилось, что... дальше просто поквотирую автора контрола:
Цитата
At present the Mozilla control implements IHTMLDocument, IHTMLElement &amp; IHTMLElementCollection. It should be possible to walk the DOM quite satisfactorily, as well as call get_all and other methods that return a collection. You may also write to a document with calls to open, write, writeln, &amp; close on IHTMLDocument. You may also call setAttribute, getAttribute &amp; removeAttribute on elements asl well as get the className &amp; id but not set them.

Цитата
The plugin implements some of the IE DOM to support things such as link clicking, access to IWebBrowser etc. It is likely to remain skeletal.

Цитата
I don't own Delphi, but as it is an ActiveX container it should be possible to generate a wrapper class for the Mozilla control as you can for any other ActiveX control. See your documentation for details how to do this.

И так далее...

Выводы: к моему великому сожалению, компонент для серьёзной работы не пригоден. По человеческим меркам его возраст я бы оценил лет в 7, при требовании к работоспособности в как минимум 20 лет. Единственная область применения - ооочень простые проекты, разрабатываемые с нуля. Какой мне толк в standards-compliant engine, если я могу оперировать только теми свойствами и возможностями, которые трудно сделать не standard-compliant?

... А ведь как всё хорошо начиналось smile

Для тех, кто любит смотреть своими глазами и щупать своими руками - рутовая страница неподалёку, всего один клик: http://www.iol.ie/~locka/mozilla/mozilla.htm

Автор: Messages 8.2.2006, 06:02
C год назад на официале мазилы лежал OLE, плохо что не ActivX, но все же. Подключался через попу... но работал. smile Лежит ли он сейчас не знаю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)