Я встраиваю элемент управления ESRI Map в пользовательский элемент управления ActiveX, написанный на MFC / C ++. Пользовательский элемент управления ActiveX служит оболочкой для элемента управления Map, поэтому я могу встроить его в определенную среду, которая является только средой выполнения и нереляционной. Благодаря этому сайту я могу загрузить характерные точки в рабочую область в памяти. Однако среда хостинга теперь застревает в памяти при закрытии, и это происходит только тогда, когда я использую InMemoryWorkspaceFactory. Поэтому я пришел к выводу, что фабрика заблокировала файл или ресурс и, не выпуская их, приводит к тому, что среда хоста никогда не закрывается.
Можно ли как-нибудь вручную удалить все объекты и классы объектов во время сообщения WM_DESTROY моего элемента управления ActiveX и полностью освободить рабочее пространство? Похоже, что нет аналога метода Create IWorkspaceFactory. Мой код выпускает все интерфейсы для фабрики рабочих пространств, но очевидно, что внутри ArcObjects все еще есть ссылки.