[Ruby] Win32OLE のメモリーリーク その5
WIN32OLE_EVENTを使ってこんなのを試してみた。
require 'win32ole'
$urls = {}
def bnavigate2(url, flags,target, post, headers, cancel)
$urls[url.locationURL] = url.locationName
end
ie = WIN32OLE.new('InternetExplorer.Application')
ie.visible = TRUE
ie.gohome
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
ev.on_event("BeforeNavigate2") {|url, flags, target, post, headers, cancel|
bnavigate2(url, flags, target, post, headers, cancel)
}
while 1
ie.navigate2("http://www.ruby-lang.org")
while ie.readystate !=4 || ie.busy
WIN32OLE_EVENT.message_loop
sleep 0.1
end
ie.navigate2("http://www.google.com")
while ie.readystate !=4 || ie.busy
WIN32OLE_EVENT.message_loop
sleep 0.1
end
end
が、やっぱり、メモリーリークというほどの明らかなメモリーの増加は見られない。
30MBぐらいのデータを組合せたスクリプトにしないと駄目かな。
| 固定リンク
この記事へのコメントは終了しました。
コメント