Загуба на памет, когато използвате номератор обект в приложението за Internet Explorer 10

Симптоми

Да разгледаме следния сценарий:

  • Разработка на уеб браузър контрол хост приложение или ActiveX контрола.

  • Приложение или ActiveX контрола препратки номератор обект от интерфейс за събиране на HTML страница. За да създадете тази функция, вижте следните указания:

    • В C++ номератор е получен чрез извикване на функцията get__newEnum колекция интерфейс.  Пример за събиране на интерфейс е IHTMLElementCollectionи това обикновено се получава чрез извикване на IHTMLDocument2::get_all.

    • Във Visual Basic тази стъпка се извършва зад кулисите в foreach конструкция над колекция (например събиране на document.all).

  • Изпълнявате приложение на компютър с Internet Explorer 10 инсталиран.

В този случай възниква загуба на памет.

Забележка: Тъй като ActiveX контроли консумира повече памет от основните HTML елементи, загуба на памет е по-ясно, ако един от елементите в колекцията е ActiveX контрола.

Например възниква загуба на памет, когато използвате следния код на C++ функция на хост приложението уеб браузър контрол. В този случай голям обем памет е изтекъл ако един от елементите на уеб страницата е ActiveX контрола.
void CEnumLeakDlg::OnBnClicked(){
IDispatch* pDocDisp = m_web.get_Document();
IHTMLDocument2* pDoc = NULL;
HRESULT hr = pDocDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pDoc);
IHTMLElementCollection* pElColl = NULL;
hr = pDoc->get_all(&pElColl);
IUnknown* pEnum = NULL;
hr = pElColl->get__newEnum(&pEnum);
pEnum->Release();
pElColl->Release();
pDoc->Release();
pDocDisp->Release();
}

Решение

За да разрешите този проблем, инсталирайте следната актуализация:

2862772 MS13-059: кумулативна актуализация на защитата за Internet Explorer: 13 август 2013 г.

Допълнителна информация

За повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер на статия, за да я видите в базата данни на Microsoft:

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×