Je crée un Simple Direct2D Application. Malheureusement, il donne une exception non gérée. La fonction où il a lieu:Direct2D: Exception non gérée dans le commutateur WM_RESIZE
void DemoApp::OnResize(UINT width, UINT height)
{
if (m_pRenderTarget) <----|****The exception occurs here.....****
{
// Note: This method can fail, but it's okay to ignore the
// error here, because the error will be returned again
// the next time EndDraw is called.
m_pRenderTarget->Resize(D2D1::SizeU(width, height));
}
}
Et l'extrait de code d'appel OnResize() est:
DemoApp *pDemoApp = reinterpret_cast<DemoApp *>(static_cast<LONG_PTR>(
::GetWindowLongPtrW(
hwnd,
GWLP_USERDATA
)));
bool wasHandled = false;
if (pDemoApp)
{
switch (message)
{
case WM_SIZE:
{
UINT width = LOWORD(lParam);
UINT height = HIWORD(lParam);
pDemoApp->OnResize(width, height);
}
result = 0;
wasHandled = true;
break;
/*rest of switch case*/
}
L'exception dit: exception non gérée à 0x00007FF6BE402CCA dans Simple Direct2D application.exe: 0xC000041D : Une exception non gérée a été rencontrée lors d'un rappel utilisateur. eu lieu
capture d'écran d'exception:
Dès que je commence à déboguer, le programme, il donne le exception.I même copié le mot du programme par mot des site.As Je suis nouveau Pour le monde de DirectX, je ne sais rien de l'exception. Que devrais-je faire?
Merci, ça a marché !!! – Dhannanjai
que dois-je faire si je veux apprendre Direct2d? Devrais-je aller apprendre l'UWP? Ou s'en tenir à rester à la base? Je demande parce que j'ai essayé la programmation UWP et son ahurissant ... – Dhannanjai
@Dannanjai Cela dépend de ce que vous allez faire avec D2D. BTW, voir la mise à jour. – Soonts