Использование установленных в ОС браузеров из программы

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 01.11.2022 01:46:02

В общем на рабочий ноут webview2 как и не установился. ( явно больше пары гигабайт для установки хочет ( возможно потом мусор чистится но есть впечатление что-то кропотливо пересобирают ) )
Тестовых проектов вагон но ни один не работает . TWebBrowser.zip
Нашел
Microsoft.WebView2.FixedVersionRuntime.107.0.1418.26.arm64.cab как я понял это фикс для Microsoft Edge он должен работать и как хром-пак суть прикола в том что его там 400 мб ! (то что загрузчик размером 123мб качает с сайта Microsoft )

Добавлено спустя 1 час 49 минут 51 секунду:
Все таки поставил нужно качать MicrosoftEdgeWebview2Setup.exe он не большой но тянет с сайта те же 400-500 мб (по окончании инсталляции правда чистит временные файлы и пакует бекап но все равно напрягает )
Зато работает явно процентов на 20-30 быстрее моего старого хромо-пака.
Изображение
Зы
Не совсем понятно что там с лицензией ...
Есть вот такой сайт https://winsoft.sk/webview.htm там оболочка над webview2 вроде платная.
Alex2013
долгожитель
 
Сообщения: 2941
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 01.11.2022 09:42:30

Только что провели с приятелем эксперимент. Дано - Windows 11 (естественно со встроенным эджем), Delphi 11, SDK НЕ установлен. Это принципиально. Проект: стандартный TWebBrowser, SelectedEngine EdgeOnly. DLL 32 и 64 бита я ему дал из своего пакета. Работает в обеих разрядностях как в VCL, так и в FMX. Вывод: как минимум в 11-х виндах нужна только DLL рядом с экзешником. НИКАКИХ дополнительных телодвижений не требуется
S_Gur
постоялец
 
Сообщения: 121
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 01.11.2022 11:45:06

В Windows 11 много чего есть например Windows for Android ... А вообще возможно что webview2 поставился вместе с какой нибудь шараварой. Но тут интереснее прикол появился !
webview2-pob.zip (пример для лазаруса по идее должен работать без левой DLL ) все делал "по феншую", а там пишет "незарегистрированный класс " и привет аборигенам .
Alex2013
долгожитель
 
Сообщения: 2941
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 01.11.2022 12:03:31

Alex2013 В 11-й винде WebView2 ставится и обновляется автоматически и процесс этот происходит практически с момента инсталляции операционки. Не далее как сегодня утром мой IOBit UnInstaller уведомил меня об установке (обновлении) Microsoft WebView2. Сильно подозреваю, что и в любой винде после инсталляции Edg-а это обновление также будет происходить автоматом. Насколько я помню, в 10-ке происходило то же самое. Опять же возвращаемся к теме топика "Использование установленных в ОС браузеров". Я уже давно пришел к выводу, что для выполнения любых процессов, которые могут выполняться операционной системой, в очередь надо попытаться использовать именно системное их выполнение, и лишь убедившись в невозможности вызвать этот процесс, нужно писать свою процедуру
S_Gur
постоялец
 
Сообщения: 121
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 01.11.2022 14:47:09

Вообщем использовал пакет WebView4Delph (лазарусе 2.0.10 (64) работает никаких лишних DLL вроде не хочет (Упс! все-же WebView2Loader.dll в папке с бинарником есть !) :idea: )
https://wiki.lazarus.freepascal.org/WebView4Delphi
https://github.com/salvadordf/WebView4Delph
https://github.com/salvadordf/WebView4D ... s/main.zip

Изображение
Зы
Убеждать меня что при наличии выбора лучше использовать как можно более стандартные "системные компоненты" не нужно я завел эту тему потому что старый метод доступа к "встроенному" браузеру внезапно ушел в "глубокую эмуляцию" древнего IE ( год назад все отлично работало )
Изображение
Но беда в том что выбор сейчас чуть сомнительный. Так что видимо придется делать два варианта "Браузер-пака".
Alex2013
долгожитель
 
Сообщения: 2941
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 01.11.2022 15:23:30

А размер такого приложения? И все в одном экзешнике или что-то еще рядом размещать надо?

Пощупал я его. По сути дела - это организация такого же использования Edge в Лазарусе. С точки зрения дельфей смысла никакого. Идея та же - использовать доступ к установленному Edge через ту же DLL
S_Gur
постоялец
 
Сообщения: 121
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 01.11.2022 17:40:31

S_Gur писал(а):А размер такого приложения? И все в одном экзешнике или что-то еще рядом размещать надо?


Так вот-же !

TestBin.7z 53мб

Это разумеется архив ( на диске будет +200 мб) Но главное то что этот пак задуман "как плагин-опция" .
( То есть хочешь дополнительное удобство? Качай дополнительный пак ! И а сейчас кроме хром-пака можно будет выбрать WebView2- пак ( он будет заметно поменьше но будет дополнительно включать в себя MicrosoftEdgeWebview2Setup.exe или возможность его закачки )
Alex2013
долгожитель
 
Сообщения: 2941
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 01.11.2022 21:49:39

Интересно, что в последнем пакете WebView4Delphi с гитхаба WebView2Loader.dll от 31.10, а на сайте микрософт - от 25.10. И версия dll новее
S_Gur
постоялец
 
Сообщения: 121
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 02.11.2022 14:17:43

Ага ! Именно то что я и говорил .
С другой стороны, WebView2требуется отдельная среда выполнения браузера WebView2, которая должна быть явно установлена на целевой машине. Даже если на компьютере уже установлен новый браузер Microsoft Edge Chromium, WebView2среда выполнения должна быть установлена отдельно. Вы, как разработчик приложения, должны убедиться, что он попадает на целевую машину. Это означает либо раздувание вашей установки, либо загрузку и установку как часть вашей установки или запуска приложения, ни одно из которых не является приятным решением.

https://weblog.west-wind.com/posts/2021 ... NET-Part-1
Alex2013
долгожитель
 
Сообщения: 2941
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 02.11.2022 19:36:17

Я отдельно WebView2 точно не сажал. Приятель мой, с которым мы вчера экспериментировали, тоже. Может, дело именно в 11-й винде. Хотя мой шеф в офисе пробовал мою демонстрашку на 10-ке и точно не на машинах разработчиков. Передавал я ему только экзешник и DLL
S_Gur
постоялец
 
Сообщения: 121
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Alex2013 » 07.11.2022 23:38:42

Тадам ! Подключил WebView4Delphi в 32 байтном режиме ! Скажите ну и что ? И будете правы вот только базовая версия Лазаруса у меня lazarus-2.0.8 и повозится с ним пришлось нехило ( вначале "домодифицировал" пакет до того что Лазарус перестал собираться от слова совсем совсем ) В принципе отсутствие совместимости со старыми версиями ожидаемо WebView4Delphi пакет новый и никто не обязан проверять его совместимость со старыми версиями lcl/rtl/fpc ( Лазарус все-же не дельфи ) но неплохо бы явно указать версию где пакет гарантированно работает.
Изображение
Alex2013
долгожитель
 
Сообщения: 2941
Зарегистрирован: 03.04.2013 11:59:44

Re: Использование установленных в ОС браузеров из программы

Сообщение S_Gur » 08.11.2022 09:37:35

Alex2013, тебе настолько принципиальна версия 2.0.8? Я обычно стараюсь обновиться до последней...
S_Gur
постоялец
 
Сообщения: 121
Зарегистрирован: 30.12.2018 22:17:42

Re: Использование установленных в ОС браузеров из программы

Сообщение Сквозняк » 08.11.2022 15:10:26

Alex2013 писал(а):но неплохо бы явно указать версию где пакет гарантированно работает.


А это почти нигде не пишут и через время попробуй угадай что с чем собирается.
Сквозняк
энтузиаст
 
Сообщения: 1110
Зарегистрирован: 29.06.2006 22:08:32

Re: Использование установленных в ОС браузеров из программы

Сообщение Sharfik » 08.11.2022 16:47:55

S_Gur писал(а):Alex2013, тебе настолько принципиальна версия 2.0.8? Я обычно стараюсь обновиться до последней...

Я установил последнюю 2,2 версию, после этого весь проект послал меня нафиг. И нужны мне такие обновления, когда там подстава на сутки работы?
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 763
Зарегистрирован: 20.07.2013 01:04:30

Re: Использование установленных в ОС браузеров из программы

Сообщение iskander » 08.11.2022 18:48:09

Sharfik писал(а):Я установил последнюю 2,2 версию, после этого весь проект послал меня нафиг.

2,2 это что? И какая была предыдущая версия?
iskander
энтузиаст
 
Сообщения: 590
Зарегистрирован: 08.01.2012 18:43:34

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 17

Рейтинг@Mail.ru