Создание элементов управления динамически с помощью сбоев ATL в windows server 2016
У нас есть MMC Snap In Code, построенный на VS 2005. Оснастка имеет несколько страниц свойств, производных от CSnapInPropertyPageImpl<t>
Вот фрагмент кода для определения класса
класс TTreeConfigPage02 : public CSnapInPropertyPageImpl<ttreeconfigpage02>
Вот фрагмент кода, который отлично работает в Windows 10, но выходит из строя в строке
spHost->AttachControl(m_grid, m_wndGrid);
в Windows Server 2016. Он сразу же выдает ошибку. Тот же самый компонент ActiveX, когда мы добавляем статически в диалог (в диалоге -> Right clink -> Insert ActiveX Component), работает нормально.
// initialize ATL ActiveX hosting AtlAxWinInit(); // create the control (will fail if not registered) IDC-> Of a Picture cotrol CWindow dlgWin = GetDlgItem(IDC_SELECT_GRID_HOST_FOL); // get host window m_grid.CreateInstance(__uuidof(FiltFolder)); //FiltFolder is a Composite Control ATLASSERT(m_grid != NULL); RECT rcWind; dlgWin.GetWindowRect(&rcWind); ScreenToClient(&rcWind); m_wndGrid.Create(m_hWnd, rcWind, NULL, WS_CHILD | WS_VISIBLE, 0, IDC_SELECT_GRID_FOL); // attach the control to the host window CComPtr<IAxWinHostWindow> spHost; m_wndGrid.QueryHost(&spHost); spHost->AttachControl(m_grid, m_wndGrid); IUnknown* pUnk; m_grid.QueryInterface(IID_IUnknown, &pUnk); DispEventAdvise(pUnk);
Любые мысли по этому поводу о том, почему он терпит неудачу только в Win Server 16.
Заранее спасибо
Что я уже пробовал:
Попробовал другой вариант, а также упомянутый в ссылке ниже. Ничего не получалось
https://jeffpar.github.io/kbarchive/kb/218/Q218442/
Richard MacCutchan
- Он сразу же выдает ошибку."
Пожалуйста, отредактируйте свой вопрос и добавьте полную информацию об ошибке; люди здесь не могут догадаться, что происходит.
sumangvs
Мои извинения , Ричард, но он просто вылетает с нарушением доступа. Я попробую поставить стек вызовов
sumangvs
Тем временем я создал пример диалогового приложения с поддержкой ALT и динамически создал компонент ActiveX. Это сработало отлично.
Теперь это как-то связано с MMC SnapIn ?