Показать сообщение отдельно
  #5  
Старый 30.07.2010, 20:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Это проблема именно эксплорера.
Восьмой в этом отношении работает лучше, но и его иногда переглючивает и он начинает есть память и тормозить.

Как создавать/убивать WebBrowser:
Код:
type
  TForm1 = class(TForm)
  ...
  private
    WB : TWebBrowser;
    WBUseCount : Integer;
    procedure RecreateWB(Kill : Boolean = False);
  end;

procedure TForm1.FromCreate(Sender : TObject);
begin
  // начальное создание браузера
  // во время дизайна его нету...
  RecreateWB;
  WBUseCount := 0;
end;

procedure TForm1.RecreateWB(Kill : Boolean = False);
begin
   If Kill Then WB.Free;
   WB := TWebBrowser.Create(Self);
   WB.Parent := Self; // Родитель - форма, панель...
   WB.Align := alClient; // Если нвдо по координатам, то ставим координаты.
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
   If WBUseCount > 50 
     Then RecteateWB; // пересоздаем каждые 50 обращений

   // далее код обращения к WB, типа WB.Navigate()
   ...
end;
Ответить с цитированием