Коллеги, остудите закипающий котелок. Своими силами не справиться.
Есть программка, помимо всего прочего перетаскивающая файлы из себя наружу. Сделана на mfc.
Захотелось переписать на wtl, и наткнулся на интересные грабли:
реализованный мною IDataObject (в mfc стандартный был, здесь написать пришлось) избирательно работает с разными Drop Target.
В эксплорер, например, в упор ничего не тащилось (курсор — запрещение), в VC — пожалуйста, в старую версию проги — тоже все прекрасно, и т.д.
Путем камланий с бубном и замены atl реализации энумераторов на самописную экслорер стал понимать, что на него хотят что-то опустить, курсор переключается. Файл бросаешь — и никакой реакции. При этом трассировка показывает, что сначала запрашивается энумератор, потом QueryGetData, затем GetData постоянно — как только мышкой двинешь. Мышь отпускается — снова GetData с запрашиваемым форматом CF_HDROP. Все как полагается, и все — бестолку. Причем все выглядит один в один как в старой версии.
Я просто в глубочайшем недоумении. Помогите, кто чем может.