Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1528 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Problème avec un delete[]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec un delete[]

n°614632
haazheel
Posté le 18-01-2004 à 02:07:09  profilanswer
 

Bonjour à tous,
 
voici le code qui me pose problème à l'éxcution (ça sert à convertir des images d'une vidéo en bitmaps...
 

Code :
  1. for (LONGLONG position = tps_start; position < tps_end; position += duree_frame)
  2. {
  3.         pSeek->SetPositions(
  4.                 &position,
  5.                 AM_SEEKING_AbsolutePositioning,
  6.                 NULL,
  7.                 AM_SEEKING_NoPositioning);
  8.         long evCode;
  9.         pControl->Run();
  10.         pEvent->WaitForCompletion(INFINITE, &evCode);
  11.         pControl->Pause();
  12.        
  13.         OAFilterState state = State_Paused;
  14.         pControl->GetState(INFINITE, &state);
  15.         AM_MEDIA_TYPE mt;
  16.         BITMAPINFO  BmpInfo;
  17.         HBITMAP hBitmap = NULL;
  18.         HRESULT hr = pGrabber->GetConnectedMediaType(&mt);
  19.         if (FAILED(hr))
  20.         {
  21.                 ShowMessage("Impossible de se connecter au type du media" );
  22.                 return;
  23.         }
  24.         long cbBuffer;
  25.         hr = pGrabber->GetCurrentBuffer(&cbBuffer, NULL);
  26.         if (FAILED(hr))
  27.         {
  28.                 ShowMessage("Impossible de récupérer la taille du buffer" );
  29.                 return;
  30.         }
  31.         BYTE *pBuffer = new BYTE[cbBuffer];
  32.         VIDEOINFOHEADER *pVideoHeader = (VIDEOINFOHEADER*)mt.pbFormat;
  33.         CopyMemory(&BmpInfo.bmiHeader, &pVideoHeader->bmiHeader,sizeof(BITMAPINFOHEADER));
  34.         hBitmap = CreateDIBSection(0,&BmpInfo,DIB_RGB_COLORS,(void**)&pBuffer,NULL,0);
  35.         hr = pGrabber->GetCurrentBuffer(&cbBuffer, (long*)pBuffer);
  36.         if (FAILED(hr))
  37.         {
  38.                 ShowMessage("Impossible de récupérer le buffer" );
  39.                 return;
  40.         }
  41.         Graphics::TBitmap *bmp = new Graphics::TBitmap();
  42.         bmp->Handle = hBitmap;
  43.         AnsiString path = dir_images + ExtractFileName(path_sequence) + "_" + IntToStr(position / duree_frame) + ".bmp";
  44.         bmp->SaveToFile(path);
  45.         delete bmp;
  46.         //delete[] pBuffer;
  47.        
  48.         DeleteObject(hBitmap);
  49.         index++;
  50.         pourcent = index *100 / nbre_frames;
  51.         Application->ProcessMessages();
  52. }


 
Le problème vient du delete[] pBuffer;
 
Si je le laisse, le programme plante dès la fin de la première boucle...
 
Si je l'enlève, on me dit (forcèment) que je n'ai pas supprimé des variables que j'ai crée avec new...
 
Il est où le problème?
 
Merci d'avance...

mood
Publicité
Posté le 18-01-2004 à 02:07:09  profilanswer
 

n°614687
LeGreg
Posté le 18-01-2004 à 04:21:33  profilanswer
 

createDibSection te renvoie le pointeur dont tu as besoin.
Pas besoin de faire de new..
 
LeGreg
 

n°614717
Taz
bisounours-codeur
Posté le 18-01-2004 à 10:20:42  profilanswer
 

désolé, c'est plus fort que moi, devant ce genre de truc, je bloque complets

n°614742
haazheel
Posté le 18-01-2004 à 11:31:04  profilanswer
 

LeGreg a écrit :

createDibSection te renvoie le pointeur dont tu as besoin.
Pas besoin de faire de new..
 
LeGreg
 
 


 
Parfait, merci!!

n°614743
haazheel
Posté le 18-01-2004 à 11:31:18  profilanswer
 

taz a écrit :

désolé, c'est plus fort que moi, devant ce genre de truc, je bloque complets


 
Et pourquoi?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Problème avec un delete[]

 

Sujets relatifs
problème de socket client --> bloquantes ou pasProblème de "!" dans un mail envoyé en php
[java swing] probleme de taille avec un JTextField[XML/XSL]génération d'un XML a partir d'un XML par XSL probleme
Problème install VirtualTreeViewProbleme de Charset sous Windows et pas sous Unix
url rewriting --> problème (avec mon serveur).petit probleme avec requete Delete je pense facile mais je vois pas
[Delphi] Probleme avec les DELETE en sql ... :([PHP] problème avec la requête DELETE FROM.
Plus de sujets relatifs à : Problème avec un delete[]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR