Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

Memory Leak - Help Please

$
0
0

I have been using the code below to take screen shots of various pages at time intervals.

 

My code is now fully working, but this function is eating memory very quickly.

 

Can someone please help me identify the memory leak?

 

I have tested my full function as it also downloads various images and only this part of the function causes memory problems

 

So I have narrowed down the problem

 

The code causing the problem is below:

AutoIt         
Func _WebCapture($Url, $WebWidth = 1024)     Local $oIE = ObjCreate("Shell.Explorer.2")     Local $hGUI = GUICreate("", $WebWidth, 768, -1, -1)     Local $cObj = GUICtrlCreateObj($oIE, 0, 0, $WebWidth, 768)     _IELoadWaitTimeout(20000) ; 20 sec     _IENavigate($oIE, $Url)     _IELoadWait($oIE)     Local $oDocument = $oIE.document     Local $oBody = $oIE.document.body     Local $oHtml = $oIE.document.documentElement     $oBody.scroll = "no"     $oBody.style.borderStyle = "none"     $oHtml.style.overflow = 'hidden'     $oBody.style.overflow = 'hidden'     Local $oIViewObject2 = ObjCreateInterface($oDocument, "{00000127-0000-0000-C000-000000000046}", "Draw hresult(dword;long;ptr;ptr;handle;handle;struct*;struct*;bool;ulong_ptr);")     If @error Then Return SetError(1, 0, 0)     Local $BodyWidth = $oBody.scrollWidth     Local $BodyHeight = $oBody.scrollHeight     Local $RootWidth = $oHtml.scrollWidth     Local $RootHeight = $oHtml.scrollHeight     Local $Width = $BodyWidth     Local $Height = $RootHeight     If $BodyHeight > $Height Then $Height = $BodyHeight     $oIE.width = $Width     $oIE.height = $Height     Local $hDC = _WinAPI_GetDC(0)     Local $hMemDC = _WinAPI_CreateCompatibleDC($hDC)     Local $hBmp = _WinAPI_CreateCompatibleBitmap($hDC, $Width, $Height)     _WinAPI_SelectObject($hMemDC, $hBmp)     Local $sRECT = DllStructCreate($tagRECT)     DllStructSetData($sRECT, "Top", 0)     DllStructSetData($sRECT, "Left", 0)     DllStructSetData($sRECT, "Right", $Width)     DllStructSetData($sRECT, "Bottom", $Height)     $oIViewObject2.Draw(1, -1, 0, 0, $hDC, $hMemDC, $sRECT, 0, 0, 0)     _WinAPI_DeleteDC($hMemDC)     _WinAPI_ReleaseDC(0, $hDC)     GUIDelete($hGUI)     Return $hBmp EndFunc   ;==>_WebCapture

Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>