3 réponses
salut,
je ne vois rien d anormal, mais il serait interessant de regarder si ca plante sur ton delete m_Bits ou sur ton DrawDibClose ou...
je ne vois rien d anormal, mais il serait interessant de regarder si ca plante sur ton delete m_Bits ou sur ton DrawDibClose ou...
Goethe t'a donné la réponse sur le forum de www.developpez.com
[Citation]
il faut faire :
CImage* image;
image = new(CImage); // et pas de new Cimage();
[Citation]
il faut faire :
CImage* image;
image = new(CImage); // et pas de new Cimage();
Merci, j'ai changé le new, mais j'ai toujours l'erreur sur le delete. Cela est peut-être dû au fait que l'image est utilisée dans MyView.cpp .
Voici mon code plus en détail:
Si vous avez des pistes.... Merci encore
Mon code:
MyDoc.cpp:
...
CImage *image
image=new(CImage);
...
delete image; // erreur "Access Violation
...
image.cpp:
CImage::CImage()
{
// On initialise la classe
m_largeur = 0;
m_hauteur = 0;
m_Bits = NULL;
// On ouvre la Dib
m_hDrawDib=DrawDibOpen();
}
CImage::~CImage()
{
//if(m_Bits)
// delete m_Bits; // en commentaire sinon crée une erreur
if ( m_hDrawDib )
DrawDibClose ( m_hDrawDib );
}
image.h:
...
public:
CImage();
~CImage();
....
Voici mon code plus en détail:
Si vous avez des pistes.... Merci encore
Mon code:
MyDoc.cpp:
...
CImage *image
image=new(CImage);
...
delete image; // erreur "Access Violation
...
image.cpp:
CImage::CImage()
{
// On initialise la classe
m_largeur = 0;
m_hauteur = 0;
m_Bits = NULL;
// On ouvre la Dib
m_hDrawDib=DrawDibOpen();
}
CImage::~CImage()
{
//if(m_Bits)
// delete m_Bits; // en commentaire sinon crée une erreur
if ( m_hDrawDib )
DrawDibClose ( m_hDrawDib );
}
image.h:
...
public:
CImage();
~CImage();
....