Перейти к содержанию
Fire Monkey от А до Я
  • 0

TWebBrowser на TFrame = AV


rareMax

Вопрос

В общем проверьте - у вас тоже будет ошибка вылетать если использовать TWebBrowser на TFrame?

Вылетает ошибка: 

First chance exception at $0081FA90. Exception class $C0000005 with message 'access violation at 0x0081fa90: read of address 0x0000009c'. Process Project1.exe (5792)

 

TWebBug.7z

 

Если кто то столкнется с этим багом - создавайте динамически TWebBrowser на фрейме - тогда нормально все.

 

В общем, если кто то сталкивался с этим, и знает как обойти - скажите плиз

 

Обходим так:

Во время создания:

constructor TFrame1.Create(AOwner: TComponent);
begin
  inherited;
  fWeb := TWebBrowser.Create(Self);
end;
После того, как форма создана(событие OnShow)

procedure TFrame1.OpenURL(const URL: String);
begin
  fWeb.Parent := Self;
  fWeb.Align := TAlignLayout.Client;
  fWeb.Navigate(URL);
end;
Изменено пользователем Сысоев Максим
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Да, я уже спрашивал по поводу данной проблемы месяца 3 назад. Решить проблему мне так и не удалось.
Кстати, ошибка только на Win. Под Android всё хорошо собирает

Ссылка на комментарий
  • 0

Привет, Попробовать TFrameStand, https://github.com/andrea-magni/TFrameStand/archive/master.zip

Хмм, спасибо. Почему то думал что этот класс служит для вложений фмх в вцл. 

Ссылка на комментарий
  • 0

К сожалению, этот класс предназначен для "эффектной" работы с фреймами, на WB он влияния не оказывает. Более того, использовать его с фреймом, на котором лежит нативный контрол типа WB будет некрасиво, поскольку нативные контролы не будут поддерживать всякие "плавности" в появлении/исчезновении. С удивлением узнал, что TabControl содержит специальный код, анализирующий "а не находится ли на скрываемом/показываемом табе WB", а TFrameStand, afaik - нет. Даже с учетом "специального кода" анимация TabControl-а c WB оставляет желать лучшего (это не в упрек, не думаю, что можно качественно организовать работу с нативным контролом в полностью графической обертке), так что TFrameStand в этом плане отдыхает.

 

Пытался решить вопрос на форуме TMS (в их FMX Pack есть веб-браузер, который позиционируется как замена "штатному"), но получил отлуп. Не дословно - "мы отошли от использования Chromium, наша браузерная обертка основывается на коде FMX, посему раз ошибка возникает и в стандартном TWebBrowser, в его реализации под Win - идите лесом, а у нас все классно".

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...