10.12.2013 update
Этот код тестировался только в Delphi XE3 и в дальнейшем поддерживаться скорее всего не будет. Версию для Delphi XE5 (и, может быть, будущих версий) можно скачать тут: http://code.google.com/p/dcef3/
Очень я страдал из-за отсутствия компонента-браузера в FireMonkey. Известный проект Delphi Chromium Embedded все-таки включил поддержку FMX в последнем билде. Но не смотря на то, что прошло довольно много времени, поддержку FMX2 автор добавлять не торопится. В итоге пришлось брать ситуацию в свои руки.
Компонент TChromiumFMX из официальной сборки вполне себе работает в FireMonkey (в XE2), но в FMX2 даже не компилируется. Пришлось немного разобраться с тем, как он устроен и исправить. Благо, серьезных изменений не потребовалось.
В FMX2 изменились две нужные компоненту вещи.
Первое — TBitmap больше не имеет свойств ScanLine и StartLine. Прямой доступ к содержимому TBitmap переделали (интересно, зачем?) и теперь оно доступно через класс TBitmapData, который возвращает метод TBitmap.Map.
Ну и второе, более известное — Platform.* больше нет, теперь необходимо получать нужный интерфейс через TPlatformServices.GetPlatformService. Здесь все довольно прямолинейно и проблем нет.
Особо изобретательно я его не тестировал, но для моих целей компонент вполне подходит — сайты через него смотреть можно. Скачать его можно тут. Еще, пожалуй, отправлю мои правки автору, может быть сочтет нужным добавить их в официальную версию.
1. Delphi for iOS: компонент TWebBrowser для FireMonkey. | Delphi в Internet
27 Мар 2013 11:25 пп
[…] Chromium Embedded и «допилить» его до работы с Delphi XE3, как это сделал Роман Янковский. Но наличие собственного, «родного» компонента […]
2. Ярослав Бровин
1 Апр 2013 3:28 пп
Добрый день. Хорошая работа.
ScanLine и StartLine убрали, по причине медленной работы на других платформах. Поэтому, если доступ действительно нужен, то это делается по запросу. Чтобы лишний раз не выделять память и тд.
3. Ярослав Бровин
1 Апр 2013 3:29 пп
Компонент TChromiumFX работает только на Windows? или поддерживаются еще MacOS и iOS?
4. Роман Янковский
1 Апр 2013 3:36 пп
Ярослав Бровин, насколько я понимаю, только Windows. Теоретически, конечно, можно обеспечить работу на любой платформе, где работает Chromium (а их много), но автор почему-то не очень торопиться серьезно поддержать FMX.
5. Алексей
15 Ноя 2013 4:19 пп
Подскажите пожалуйста, как установить данный компонент , буду весьма признателен
6. Роман Янковский
20 Ноя 2013 11:28 дп
Алексей, как любой другой компонент. Скачать пакет и установить его :)
7. Алексей
20 Ноя 2013 11:08 пп
Роман Янковский, прошу прощения, но я до этого не имел опыта установки дополнительных компонентов, не могли-бы вы более подробней описать установку, у меня Embarcadero xe5 и я не совсем пойму как правильно добавить компонент через вкладку «компонент»
8. Роман Янковский
21 Ноя 2013 9:12 дп
Нужно скачать пакет, распаковать его куда-нибудь. Там внутри будет файл с расширением .dpk. Его нужно открыть в Delphi, появится специальное окошко, в нем нажать Install.
Либо можно следовать вот этой инструкции.
9. Алексей
23 Ноя 2013 4:53 пп
Роман Янковский, спасибо за помощь !
10. Роман
28 Ноя 2013 3:42 дп
На FireMonkey не хочет запускаться. Ругается на TControl. Устанавливал этот файл DCEF_XE2.dpk на ХЕ5.
11. Роман Янковский
28 Ноя 2013 11:06 дп
Роман, оказывается в XE4 и XE5 некоторые классы перенесли в другие модули. Поправил код, теперь должно работать. Попробуйте скачать еще раз.
12. Роман
28 Ноя 2013 9:19 пп
Роман Янковский, установил XE2.dpk, но при компиляции демо для Файрманки ругается на TControl в ceffmx.
13. Роман
28 Ноя 2013 9:57 пп
Настроить все получилось, но в демо файрманки в TChromiumFMX не отображается ничего.
14. Роман Янковский
10 Дек 2013 3:01 пп
Я этот код тестировал только в Delphi XE3. С тех пор прошло время и автор оригинальной версии включил поддержку XE5 — http://code.google.com/p/dcef3/ (XE3 и XE4 почему-то пропустив). Берите там :)
15. Евгений
13 Фев 2014 4:54 пп
Уважаемый, не знаете ли как обновить версию dcef3 до последней, автор к сожалению давно уже не обновлял проект, а в моем браузере для медучреждений нужна печать, причем сразу на прямую (в текущих исходниках нет такой возможности)
16. Роман Янковский
14 Фев 2014 4:55 пп
Евгений, ссылка же в самом начале поста. Автор наконец обновил dcef3. Вам для какой версии Delphi нужно?
17. Евгений
14 Фев 2014 5:06 пп
29 октября автор в группе написал ждать, уже 14 февраля, поэтому ищется тот кто знает как обновить или информация об этом
мне нужен билд 1479 или выше, текущий 1412