sakuragikan
Messages postés4Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention15 septembre 2005
-
13 mai 2005 à 13:04
sakuragikan
Messages postés4Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention15 septembre 2005
-
16 mai 2005 à 10:56
Bonjour !
J'ai un bug qui apparait en release mais pas en debug, au niveau des onglets de ma Tab, qui appartient a une dialogue box.
Je sais que ce type de probleme a ete souvent traite ici, pourtant je ne vois ni pointeur nul ni depassement de mémoire.
Le bug apparait en release lorsque je clique sur le 2e ou le 3e onglet (il y en a trois). En mode debug, tout fonctionne correctement.
//initialize the tab control
int index;
TC_ITEM TabCtrlItem;
CString Caption;
//common data for all tabs
TabCtrlItem.mask= TCIF_TEXT; //only setting text
TabCtrlItem.cchTextMax= 0; //ignored if the structure is not receiving information
TabCtrlItem.iImage= -1; //no image
TabCtrlItem.lParam= 0; //no specific data
//tab specific data
TabCtrlItem.pszText= "Onglet1"; //the string is copied
index=m_tab.InsertItem(ONGLET1_TAB, &TabCtrlItem);
TabCtrlItem.pszText= "Onglet2"; //the string is copied
index=m_tab.InsertItem(ONGLET2_TAB, &TabCtrlItem);
TabCtrlItem.pszText= "Onglet3"; //the string is copied
index=m_tab.InsertItem(ONGLET3_TAB, &TabCtrlItem);
//first tab selectionned on init
m_tab.SetCurSel(ONGLET1_TAB);
Display_1_List();
}
La fonction qui gere le changement d'onglet :
le bug release se produit ici, juste avant le break correspondant aux onglets 2 et 3, l'AfxMessageBox passe tres bien, ce qui permet de voir que l'onglet est selectionné et que la listbox s'affiche bien, et puis le crash survient juste apres.
Code:,
----
void CContributionDlg::OnSelchangeTabMode()
{
//get currently selected tab
int index=0;
index=m_tab.GetCurSel();
switch (index)
{
case ONGLET1_TAB:
Display_List1();
break;
case ONGLET2_TAB:
Display_List2();
AfxMessageBox("passe");
break;
case ONGLET3_TAB:
Display_List3();
break;
}
}
Et puis les fonctions appelées lors du changement d'onglet : une listbox differente s'affiche selon l'onglet selectionné.
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010 14 mai 2005 à 13:20
je connais pas bien le mfc, mais quand tu a un probleme entre le mode
debug et release cela vient a 90% des initialisations pas faite. le
mode Debug fait automatiquement des initialisations alors que le mode
Release ne le fait pas