Re[3]: Вопрос по Drag'n'Drop STGMEDIUM->pUnkForRelease
От: Ignoramus  
Дата: 13.07.04 13:01
Оценка:
Здравствуйте, Vi2, Вы писали:

Vi2>Скорее всего, GHND не держит в память само значение hGlobal, поэтому вполне могло переместиться в силу других причин. Т.о. налицо рассогласование pmedium->hGlobal и TUnknownForRelease::hGlobal.


Позволю себе с Вами не согласиться. Пусть себе память переместилась, но хендл на память, который выделила GlobalAlloc(GMEM_MOVEABLE, ...) должен был остаться прежним. Тем более, что выделение и освобождение памяти происходит в одном процессе — метод IDataObject::GetData вызывается в принимающем приложении и ReleaseStgMedium там же.

Кроме того, мне кажется, исключение вылетает именно в случае если присутствует строка "delete this" в TUnknownForRelease::Release(). Без нее с hGlobal никаких проблем не появляется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.