Un programme très simple je pourrais dire ..violation d'accès dans l'image destructor
#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR cmdLine, int nShow){
// Gdiplus variables
GdiplusStartupInput mGdiplusStartupInput;
ULONG_PTR mGdiplusToken;
GdiplusStartup(&mGdiplusToken, &mGdiplusStartupInput, NULL);
Bitmap bitmap(L"left.bmp");
GdiplusShutdown(mGdiplusToken);
return 0;
}
Lorsque vous exécutez cet exemple, je reçois une violation d'accès à GdiplusBitmap.h dans cette fonction
inline
Image::~Image()
{
DllExports::GdipDisposeImage(nativeImage);
}
En supprimant la appel à Bitmap bitmap(L"left.bmp");
tout fonctionne bien .. J'ai essayé de trouver un exemple simple sur msdn (par exemple quelque part près de la Bitmap constructor, mais n'a rien trouvé.)
Qu'est-ce qui me manque?
+1 cela. Ajouter une paire de parenthèses autour de l'image bitmap pour le forcer hors de portée, ou en faire un type de pointeur (moche). –
Cela a du sens. Mais comment est-ce que je détruis explicitement un bitmap qui est créé sur la pile? – Default
@Mike: sorte de bloc de portée autour de l'appel Bitmap .. Cela a effectivement résolu. sweet :) Merci pour les réponses rapides – Default