Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.07.2010, 00:03
romingood romingood вне форума
Прохожий
 
Регистрация: 26.02.2010
Сообщения: 36
Репутация: 9
Счастье Wеbbrowser тормозит прогу - хелп!

Привет всем!

Суть в том, что прога уже есть, она прекрасно работает, но после N минут-часов работы прога постепенно начинает есть до 250 метров памяти.
и мой бук виснет наглухо (ВинXP).

Подскажите, как мне победить этого монстра?
может его как нть удалять, очищать, освобождать память после загрузки страницы, или перед загрузкой следующей стараницы, не знаю...
сил нет никаких.

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

поставить 8й эксполорер. Станет чуть полегче, но принципиально ничего не исправится. можно попробовать "убивать" контрол и потом его создавать заного.
Ответить с цитированием
  #3  
Старый 30.07.2010, 03:37
romingood romingood вне форума
Прохожий
 
Регистрация: 26.02.2010
Сообщения: 36
Репутация: 9
Радость Это идея!

Цитата:
Сообщение от lmikle
поставить 8й эксполорер. Станет чуть полегче, но принципиально ничего не исправится. можно попробовать "убивать" контрол и потом его создавать заного.

8-й ставить неохота, мне кажется, это и вправду полумера.
А вот насчет - убивать контрол - как это сделать?
У меня ведь браузер фигурирует как компонент Twebbrowser1
можно ли его после прохождения цикла программы убить, и в начале работы проги восстановить?
чтобы он стал тем же Twebbrowser1 и встал на свое место в проге (top,left и т.п.) Как? Очень надо!

А может он просто накапливает в себе мои загруженные страницы куда нть в закладки? дурь какая-то. Я перехожу по страницам, а браузер хавает память. полный бред.
Ответить с цитированием
  #4  
Старый 30.07.2010, 19:46
romingood romingood вне форума
Прохожий
 
Регистрация: 26.02.2010
Сообщения: 36
Репутация: 9
Счастье Помогите, плз!

см. выше.
Как убивать и возрождать контролы?
Ответить с цитированием
  #5  
Старый 30.07.2010, 20:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия 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;
Ответить с цитированием
  #6  
Старый 30.07.2010, 20:55
romingood romingood вне форума
Прохожий
 
Регистрация: 26.02.2010
Сообщения: 36
Репутация: 9
По умолчанию Благодарю!

Вот спасибо!!!
Пошел пробовать!
Ответить с цитированием
  #7  
Старый 31.07.2010, 22:29
romingood romingood вне форума
Прохожий
 
Регистрация: 26.02.2010
Сообщения: 36
Репутация: 9
По умолчанию

Попробовал.
Странное дело, контрол я программно убил через WB.Free;, но память, используемая приложением, не освободилась... 30-60 мБ так и осталось.
непонятно.

Может, за браузером надо еще какой нть мусор убирать...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter