Re: BSTR memory management
От: Vi2 Удмуртия http://www.adem.ru
Дата: 13.08.02 08:57
Оценка: 1 (1)
Здравствуйте aLEXa123, Вы писали:

LEX>Как определить утечку памяти в VC для такого блока?


Не знаю возможно ли такое в принципе. Дело касается памяти, выделенной по SysAllocString.

LEX>И будет ли утечка?


А утечка будет, если метод завершится без ошибки.

IWebBrowser2::StatusText Property
Remarks
The WebBrowser object ignores this property.
The caller frees the pbstr buffer with the SysFreeString function.

Поэтому нужно использовать CComBSTR или обработку ошибок:
for(int i=0; i < doXpeHaPA3; i++) {
  CComBSTR bstr;
  pBrowser->get_StatusText( &bstr );
}
или
for(int i=0; i < doXpeHaPA3; i++) {
  BSTR bstr;
  if( SUCCEEDED(pBrowser->get_StatusText( &bstr )) )
    SysFreeString( bstr ); // иначе leak??
}
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.