bonjour,
j'ai une erreur que je n'explique pas : je charge une image 3D et ensuite j'ai besoin de stocker des valeurs dans un tableau. Voici le code :
Voici le thread lancé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 System::Void Form1::buttonMaillage_Click(System::Object* sender, System::EventArgs* e) { trd = new Thread(new ThreadStart(this,&Form1::Maillage3D)); trd->IsBackground = true; trd->Start(); }
l'erreur a lieu sur la première ligne de Maillage3D, lors de la création de TabBinaire. L'erreur est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 System::Void Form1::Maillage3D() { unsigned char * TabBinaire = new unsigned char[modele->largeur*modele->hauteur*modele->profondeur]; int largeur = modele->largeur, hauteur = modele->hauteur, profondeur = modele->profondeur; ... }
Visual 2005 m'ouvre le fichier onexit.c sur la fonction :Une exception non gérée du type 'System.Runtime.InteropServices.SEHException' s'est produite dans 3DImagerie.exe
Informations supplémentaires*: Un composant externe a levé une exception.
et m'indique la ligne : __onexitend = (_PVFV *)_encode_pointer(onexitend);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #pragma warning(suppress: 22008) /* prefast is confused */ onexitend = p + (onexitend - onexitbegin); onexitbegin = p; __onexitbegin = (_PVFV *)_encode_pointer(onexitbegin); } /* * Put the new entry into the table and update the end-of-table * pointer. */ *(onexitend++) = (_PVFV)_encode_pointer(func); __onexitend = (_PVFV *)_encode_pointer(onexitend); return func; }
Le truc bizarre est que quand j'ouvre un fichier plus petit, ca se passe correctement alors qu'en ouvrant un plus gros (comme là) ca plante !
une idée?
Partager