Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » PropertyStoreRemove() Error Collapse All
Subject Author Date
ki okju Nov 18, 2005 - 3:46 AM

 


 I use v2.50.


 


  This code make assert error


 " m_pCombo->PropertyStoreRemove(-1); "


 


 I read T-S forum.


 


 and I found same case.
<TABLE style="BORDER-TOP: #aaaaaa 2px solid; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=6 width="100%" border=0>
<TBODY>
<TR>
<TD>

</TD>
<TD noWrap>George Ross</TD></TR></TBODY></TABLE>


 Please solve this problem.

Technical Support Nov 18, 2005 - 12:20 PM

Please update the source code for the CExtPropertyGridComboBoxBar::PropertyStoreRemove() method in the ExtPropertyGridWnd.cpp file:

bool CExtPropertyGridComboBoxBar::PropertyStoreRemove(
    INT nPos // = -1 // if -1 - remove all
    )
{
    ASSERT_VALID( this );
    if( nPos < 0 )
    {
        m_arrPropertyStores.RemoveAll();
        if( GetSafeHwnd() != NULL )
            ResetContent();
        return true;
    }
    if( nPos >= PropertyStoreGetCount() )
    {
        ASSERT( FALSE );
        return false;
    }
    DeleteString( UINT(nPos) );
    m_arrPropertyStores.RemoveAt( nPos );
    return true;
}


ki okju Nov 20, 2005 - 10:35 PM

  I edited that and recompiled lib & dll files.


  but same assert error come from.


 


  

Technical Support Nov 21, 2005 - 11:41 AM

We have used the PropertyGrid sample to reproduce the bug. We just invoked the following code from the CMainDlg::OnAbout() method which handles a click on the About hyper-link button in the main dialog window:

void CMainDlg::OnAbout()
{
//#ifndef __EXT_MFC_NO_PROF_UIS_ABOUT_DIALOG    
//    VERIFY( ProfUISAbout() );
//#endif // #ifndef __EXT_MFC_NO_PROF_UIS_ABOUT_DIALOG    
 
CExtPropertyGridComboBoxBar * pCombo =
        STATIC_DOWNCAST(
            CExtPropertyGridComboBoxBar,
            m_PGC.GetChildByRTC(
                RUNTIME_CLASS(
                    CExtPropertyGridComboBoxBar
                    )
                )
            );
    ASSERT_VALID( pCombo );
    pCombo->PropertyStoreRemove();
}
Before fixing the PropertyStoreRemove() method as described in our previous message, this CMainDlg::OnAbout() method had caused an assertion. After updating the PropertyStoreRemove() method and building Prof-UIS, the problem does not occur anymore. So, we need your sample project in which this problem still persists.