1

この行に「MicrosoftC++例外:メモリ位置で長い」が表示されました:
pDev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, m_Size * m_Size, 0, m_TriangleCount);

pDevはLPDIRECT3DDEVICE9で、DirectX9.0を使用しました。
「メモリ位置での長さ」が正確に何を意味するのかわかりません。
メッセージがこの行に印刷されるのはなぜですか?

4

1 に答える 1

1

エラー状態を処理するためにDirectX配管で内部的に使用されている例外を示すだけの、[出力]ウィンドウに表示される「ファーストチャンス例外」メッセージは無視してください。例外は、捕まえられない場合にのみ致命的です。

決して無視してはならないのは、DrawIndexedPrimitive()の戻り値です。関数呼び出しが成功したかどうかを示すステータスコードであるHRESULTを返します。大まかなコードは次のようになります。

HRESULT hr = pDev->DrawIndexedPrimitive(...);
if (FAILED(hr)) {
    // Report error code stored in "hr" and terminate
    //...
}
于 2012-08-12T14:19:38.887 に答える