[решено] Функция _IECreate, проблема с переполнением памяти

Ответить
Аватара пользователя
u-Art

[решено] Функция _IECreate, проблема с переполнением памяти

Сообщение u-Art »

Приветствую.

Столкнулся с проблемкой.

При автоматической загрузке страниц с помощью _IECreate к примеру:



#include



For $i = 1 To 300

Sleep (500)

$oIE = _IECreate ("
http://www.ya.ru
", 0, 0, 1)

$sHTML = _IEBodyReadText ($oIE)

SplashTextOn ( "Test", "Txt - " & $sHTML & @CRLF & @CRLF & $i & @CRLF & @CRLF & @Error, 400, 300, 10, 10, 5)

next



В районе 50-го обращения вылетает ошибка 3 ($_IEStatus_InvalidDataType), если убить IE в диспетчере задач, то загрузки возобновляются опять до 50-60 циклов.

С каждым обращением увеличивается кол-во отъедаемой памяти, доходя до ~ 150 МБ

При загрузке большей страницы (yandex.ru), происходит зависание при достижении занимаемой памяти ~160 МБ.



Есть-ли какой нибудь способ преодолеть сие недоразумение?
Аватара пользователя
madmasles

Re: [решено] Функция _IECreate, проблема с переполнением памяти

Сообщение madmasles »

u-Art,

IE одним окном память прилично кушает, а Вы пытаетесь открыть до 300 окон. Я не думаю, что если Вы руками попытаетесь открыть 300 окон IE, то это у Вас получится. А, вообще, зачем открывать столько окон IE?
Аватара пользователя
gregaz

Re: [решено] Функция _IECreate, проблема с переполнением памяти

Сообщение gregaz »

А зачем 300 раз делать : _IECreate ("
http://www.ya.ru
", 0, 0, 1)

Может вынести его из цикла ?
Аватара пользователя
gregaz

Re: [решено] Функция _IECreate, проблема с переполнением памяти

Сообщение gregaz »

Прошу прощения, поторопился с созданием темы.

В запарке подумал, в скрытом режиме создается одно окно.

Решено.




Цитата gregaz:



А зачем 300 раз делать : _IECreate ("
http://www.ya.ru
", 0, 0, 1)
[решено] Функция _IECreate, проблема с переполнением памяти




Это просто пример

Загружаю страницы, где меняются данные для обработки.

Через некоторое время закрою тему, надо потестить, не слетит-ли авторизация при _IEQuit ($oIE)



Все работает

Еще раз извиняюсь
Ответить

Вернуться в «AutoIt»