Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Функция _IECreate, проблема с переполнением памяти (http://forum.oszone.net/showthread.php?t=171335)

u-Art 26-03-2010 18:29 1377935

Функция _IECreate, проблема с переполнением памяти
 
Приветствую.
Столкнулся с проблемкой.
При автоматической загрузке страниц с помощью _IECreate к примеру:

#include <IE.au3>

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 26-03-2010 18:48 1377946

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

gregaz 26-03-2010 18:51 1377949

А зачем 300 раз делать : _IECreate ("http://www.ya.ru", 0, 0, 1)
Может вынести его из цикла ?

u-Art 26-03-2010 18:53 1377953

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

Цитата:

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

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

Все работает
Еще раз извиняюсь


Время: 08:57.

Время: 08:57.
© OSzone.net 2001-