Bonjour,
J'ai fait un programme dans lequel je traite la perte du device en cas de ALT+TAB par exemple. Mais dans le cas ci-dessous ça ne marche pas. Peut-être est ce dû au fait que l'instance est créée dynamiquement ?
--
Bloc * blocJ1enCours;
void render()
{
p_Application->g_pd3dDevice->BeginScene();
p_Application->g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(169,171,255), 1.0f, 0 );
if (blocJ1enCours!=NULL)
{
blocJ1enCours->texture->Release();
delete blocJ1enCours;
};
blocJ1enCours = new Bloc;
blocJ1enCours->setLetterTexture(&p_Application->g_pd3dDevice, menu.theme); ( appelle un create sprite et createtexturefromfile pour mon objet bloc )
blocJ1enCours->translation.x = TableauJoueurs[j]->translation.x + 16;
blocJ1enCours->translation.y = TableauJoueurs[j]->translation.y + 8;
if (blocJ1enCours!=NULL)
{
blocJ1enCours->Draw(false);
};
p_Application->g_pd3dDevice->EndScene();
if (p_Application->g_pd3dDevice->Present( NULL, NULL, NULL, NULL ) == D3DERR_DEVICELOST )
{
Sleep( 100 );
HRESULT hr;
if( FAILED( hr = p_Application->g_pd3dDevice->TestCooperativeLevel() ) )
{
if( hr == D3DERR_DEVICELOST )
return;
// Le device est perdu mais il peut-être réinitialisé
if( hr == D3DERR_DEVICENOTRESET )
{
if (blocJ1enCours->texture != NULL)
{
blocJ1enCours->texture->Release();
blocJ1enCours->texture=NULL;
delete blocJ1enCours;
};
hr = p_Application->g_pd3dDevice->Reset(&p_Application->d3dpp);
if( FAILED(hr ) )
return;
};
};
}
Parcontre si je retire le draw ça fonctionne ????? 
Merci de votre aide, je suis vraiment bloqué...