La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GPA789 Analyse et conception orientées objet Durée de vie des objets C++

Présentations similaires


Présentation au sujet: "GPA789 Analyse et conception orientées objet Durée de vie des objets C++"— Transcription de la présentation:

1 GPA789 Analyse et conception orientées objet Durée de vie des objets C++

2 GPA789 Analyse et conception orientées objet Durée de vie des objets C++ Exemple BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE

3 GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Linitialisation dun objet de type CTreeCtrl dans la fonction membre CDialog::OnInitDialogLinitialisation dun objet de type CTreeCtrl dans la fonction membre CDialog::OnInitDialog{ // code partiel de linitialisation… CBitmap bitmap1; VERIFY(bitmap1.LoadBitmap(IDB_IMAGE_DOSSIERS)); /* créer liste images */ CImageList m_ImageList; m_ImageList.Create(16, 13, ILC_COLOR16, 0, 1); m_ImageList.Add(&bitmap1, RGB(0,0,0)); /* Ajouter la liste d'images dans l'arbre des dossiers */ m_ArbreDossiers.SetImageList(&m_ImageList, LVSIL_NORMAL); } Quel est le problème majeur dans ce code? Quel est le problème majeur dans ce code?

4 GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Réponse: La durée de vie des objetsRéponse: La durée de vie des objets bitmap1 bitmap1 m_ImageList m_ImageList En effet,En effet,{ // code partiel de linitialisation… CBitmap bitmap1; VERIFY(bitmap1.LoadBitmap(IDB_IMAGE_DOSSIERS)); /* créer liste images */ CImageList m_ImageList; m_ImageList.Create(16, 13, ILC_COLOR16, 0, 1); m_ImageList.Add(&bitmap1, RGB(0,0,0)); /* Ajouter la liste d'images dans l'arbre des dossiers */ m_ArbreDossiers.SetImageList(&m_ImageList, LVSIL_NORMAL); } Ils sont détruits automatiquement à la fin de cette fonction membre!!

5 GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Solution #1 – allocation dynamique des objetsSolution #1 – allocation dynamique des objets{ // code partiel de linitialisation… CBitmap *pbitmap1 = new CBitmap; VERIFY(bitmap1.LoadBitmap(IDB_IMAGE_DOSSIERS)); /* créer liste images */ CImageList *m_pImageList = new CImageList; m_ImageList.Create(16, 13, ILC_COLOR16, 0, 1); m_ImageList.Add(pbitmap1, RGB(0,0,0)); /* Ajouter la liste d'images dans l'arbre des dossiers */ m_ArbreDossiers.SetImageList(m_pImageList, LVSIL_NORMAL); } Quel est le problème associé à cette solution? Quel est le problème associé à cette solution?

6 GPA789 Analyse et conception orientées objet BACCALAURÉAT EN GÉNIE DE LA PRODUCTION AUTOMATISÉE Solution #2 – rendre les objets « globaux » à la boîte de dialogueSolution #2 – rendre les objets « globaux » à la boîte de dialogue class CXtractCommGUIDlg : public CDialog { // Construction public: CXtractCommGUIDlg(CWnd* pParent = NULL);// standard constructor // Dialog Data //{{AFX_DATA(CXtractCommGUIDlg) enum { IDD = IDD_XTRACTCOMMGUI_DIALOG }; CProgressCtrlm_BarreProgression; CListCtrlm_lcFichiers; CTreeCtrlm_ArbreDossiers; CComboBoxExm_cbDisque; //}}AFX_DATAprivate: CImageList m_ImageList; CBitmap bitmap1; };


Télécharger ppt "GPA789 Analyse et conception orientées objet Durée de vie des objets C++"

Présentations similaires


Annonces Google