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 » ASSERT in extcontrolbar Collapse All
Subject Author Date
Pierre MEDART May 30, 2007 - 3:58 AM

Hi

I’m currently integrating prof-ui into a MFC application. I created two objects derived from CExtControlBar and I dock them in my MainFrame.

class WorkSpaceWnd : public CExtControlBar
{}

if (!m_wndWorkSpace.Create("Workspace", this, ID_PROF_UI_TREE))
{
    TRACE("Failed to create workspace bar");
    return -1;
}
m_wndWorkSpace.EnableDocking(CBRS_ALIGN_ANY);
m_wndWorkSpace.DockControlBar(AFX_IDW_DOCKBAR_LEFT, 1, this, true);

I’m facing an assert when I press the autohide button.

ASSERT( ((CExtDockBar*)pWndParent)->_GetCircleNo() > 0 );

the _GetCircleN0() returns 0 (it is the value in m_nCircleNo)

What did I do wrong ?

Technical Support May 30, 2007 - 12:18 PM

The CExtControlBar::DockControlBar() method is obsolete and supported for compatibility with old versions of Prof-UIS. Please use the CExtControlBar::DockControlBarInnerOuter() and CExtControlBar::DockControlBarLTRB() methods instead. These two methods are designed for docking control bars like in Visual Studio 2005.

Pierre MEDART May 31, 2007 - 9:58 AM

I replaced the DockControlBar() with the DockControlInnerOuter() -> I still get the assert.

Could you describe what I should do, I mean what method and the order I should to avoid this assert.


NB : One suggestion, update the content of the help file where you still suggest to use the DockControlBar() method.

Pierre MEDART Jun 1, 2007 - 3:56 AM

Our application uses the LoadBarState() of the CFrameWnd -> can this cause these asserts ?

Technical Support Jun 1, 2007 - 9:27 AM

Yes, it is the source of the problem. Please use the CExtControlBar::ProfileBarState***() methods instead. Please also note, these methods also allow you to implement persistence for the frame’s window position on the screen.