Perdite di memoria

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Perdite di memoria

    30/10/2024 - oregon ha scritto:


    Purtroppo così non se ne esce.

    È necessario, se vuoi indicazioni precise, provare il sorgente e fare direttamente debugging.

    Se puoi postare uno zip completo da eseguire ci proviamo, altrimenti mi spiace.

    Mi risulta difficile mandare tutto il codice, sto utilizzando una funzione che mi dice le rihe dove il software perde memoria, una è questa

    
    CodTipSott& CodTipSott::operator = (const CodTipSott & tr)
    {
    	if (this != &tr)
    	{
    		m_astr.Copy(tr.m_astr);
    		m_astrS.Copy(tr.m_astrS);
    		m_astrTip.Copy(tr.m_astrTip);
    		m_aStra.Copy(tr.m_aStra);
    		m_strCodice = tr.m_strCodice;
    		m_strArchivio = tr.m_strArchivio;
    		
    		m_anTipoU.Copy(tr.m_anTipoU);
    		m_aDistT.Copy(tr.m_aDistT);
    	
    		m_aDistP.Copy(tr.m_aDistP);
    	}
    	return *this;  ----> questa riga qui
    }

    CodTip è una struttura che uso, in quella riga c'è una perdita di memoria, ma sinceramente non saprei come risolvere

  • Re: Perdite di memoria

    @vale88, 

    NON leggiamo nel pensiero, 
    NE abbiamo la visione a distanza, 
    NE possiamo darti una risposta 

    SE non fornisci le informazioni che servono  a NOI, 

    e NON quelle che TU pensi siano sufficienti.

    Come si suol dire: “Aiutaci ad aiutarti” ;-)

    SE non lo fai, e' ovvio che dovrai trovare una soluzione per conto tuo.

    ;-)

  • Re: Perdite di memoria

    Mi pare che c'entri poco con le bitmap.

    Che strutture sono? Contengono puntatori?

    Purtroppo se non si esamina tutto il sorgente provando, le domande aumentano e non se ne esce.

  • Re: Perdite di memoria

    30/10/2024 - migliorabile ha scritto:


    @vale88, 

    NON leggiamo nel pensiero, 
    NE abbiamo la visione a distanza, 
    NE possiamo darti una risposta 

    SE non fornisci le informazioni che servono  a NOI, 

    e NON quelle che TU pensi siano sufficienti.

    Come si suol dire: “Aiutaci ad aiutarti” ;-)

    SE non lo fai, e' ovvio che dovrai trovare una soluzione per conto tuo.

    Mi chiedevo che visto che un return *this, poi devo anche distruggerlo?

  • Re: Perdite di memoria

    No, ma che distruggi?

    Cosa è m_strCodice?

    Prova inserendo nella if una linea per volta e fai il controllo ogni volta

  • Re: Perdite di memoria

    30/10/2024 - oregon ha scritto:


    Purtroppo così non se ne esce.

    È necessario, se vuoi indicazioni precise, provare il sorgente e fare direttamente debugging.

    Se puoi postare uno zip completo da eseguire ci proviamo, altrimenti mi spiace.

    mi è complicato mandare tutto il progetto, comunque leggendo questo:

    Detected memory leaks!
    Dumping objects ->
    f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(156) : {25323} normal block at 0x0E0A5048, 26 bytes long.
     Data: < % |            > B0 25 16 7C 04 00 00 00 04 00 00 00 01 00 00 00 

    quindi sto vedendo che creano memory leaks i toolTip, io ho scritto nel .h:

    CToolTipCtrl m_ToolTip1;

    in cpp: 

    
    void CDDlg::OnInitDialog(void)
    {
    	CString	strToolTip;			///< Stringa da mostrare.
    
    	if (m_ToolTip1.Create(this) == FALSE)
    	{
    		AfxMessageBox(strToolTip, MB_ICONERROR);
    	}
    	else
    	{
    		m_bTTIniz = true;
    		
    		strToolTip.LoadString(IDS_STRING119); 
    		m_ToolTip1.AddTool(&m_button, strToolTip);
    		m_ToolTip1.Activate(TRUE);
    	}
    

    e :

    
    BOOL CDDlg::PreTranslateMessage(MSG* pMsg)
    {
    	
    		    m_ToolTip1.RelayEvent(pMsg);
    
    	
    	return CDialogEx::PreTranslateMessage(pMsg);
    }
    

    ma poi visto che ho utilizzato la Create devo deallocare in qualche modo?

Devi accedere o registrarti per scrivere nel forum
20 risposte