Bon un peu plus mieux et sans memory leak:
Code :
- ANALYSER_API long __stdcall Analyse(HBITMAP hwndBitmap)
- {
- static Coord TmpCoord;
- SIZE pictInfo;
- // on ne definit pas un pointeur sur un structure SIZE
- // on l'a creer directement sur la pile
- // LPSIZE = SIZE* au passage
- long Tmp = NULL;
- // on prend la taille du bitmap si ca plante on s'arrete sinon on prend les bits du bitmap qu'on met dans un buffer
- // &pickinfo -> on passe l'adresse de pickinfo
- if (GetBitmapDimensionEx(hwndBitmap,&pictInfo) != 0)
- {
- Tmp = pictInfo.cx;
- unsigned char* buffer = new unsigned char[(pictInfo.cx*4+3)*pictInfo.cy];
- if (GetBitmapBits(hwndBitmap,(pictInfo.cx*4+3)*pictInfo.cy,buffer) != 0)
- {
- Tmp = pictInfo.cx;
- }
- delete[] buffer;
- // en C++ a chaque new ou new[] doit correspondre un delete ou delete[]
- // sous peine de memory leak
- }
- return Tmp;
- }
|
Et comme tous les autres je te dirait de zienter tes cours ou des tutorials, tant que la notion de pointeur ne sera pas clair dans ton esprit, c'est pas la peine.
Message édité par chagarou le 22-01-2004 à 17:08:05