Создание кнопки, лишающее законной силы указатели Direct2dFactory Переполнение стека Windows

Я пишу приложение для Windows в MS Visual Studio 2017 и у меня возникли небольшие проблемы с использованием объекта Direct 2D Factory и кнопок.
Похоже, что если я сначала создаю прямой 2D-объект Factory, a.k.a.
бежать:

HRESULT AppObject::CreateDeviceIndependentResources(){
hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED,&m_pDirect2dFactory);
return hr;
}

Заводской объект создан правильно с указателем, хранящимся в «m_pDirect2dFactory», как и должно быть.
Этот указатель объекта сохраняется при создании главного окна:

m_hwnd = CreateWindowEx(0, ...

и через создание дочерних окон:

m_hwndRenderView = CreateWindowEx(0,
L"AppChildWindow",
L"ChildWinName", WS_CHILD | WS_BORDER | WS_VISIBLE,
...

Однако, когда код создает кнопки:

m_hwndButton = CreateWindow(L"BUTTON",
TEXT("button name"),
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
m_buttonStart_pixX,
cur_button_pixY,
button_pix_width,
button_pix_height,
m_hwnd,
(HMENU)(int)(CORE_BUTTON_IDSTART+1),
(HINSTANCE)GetWindowLong(m_hwnd, GWL_HINSTANCE),
NULL);

Значение указателя «m_pDirect2dFactory» изменяется на явно неверное значение, которое вызывает ошибку, когда
m_pDirect2dFactory-> Release ()
называется.
Или, другими словами, создание кнопок вмешивается в фабричный объект, созданный D2D1CreateFactory.

Это известная проблема?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector