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 » Debug Assert on Mouse Hover in the Scroll arrows in the CExtTabWnd Collapse All
Subject Author Date
Debabrata Mukherjee Sep 6, 2007 - 12:06 AM

I have created a CExtTabWnd in my app. When I move the mouse over the scroll arrow at the end of the window, I get a debug assert.
Is there any specific handling that I need to do.

Debabrata Mukherjee Sep 12, 2007 - 1:57 PM

I think it could be a time consuming affai if we go for desktop sharing.

I hope you got the issue right.
When ever a mouseover is done on the scroll arrow of the tab strip, a debug assert comes up. Can you tell us why?

Again is there any handler which i might have missed.

Technical Support Sep 13, 2007 - 5:39 AM

We asked you for desktop sharing because the buttons inside tab window are too simple and we absolutely have no idea how they can raise any assertions. This desktop sharing should take a few minutes.

Debabrata Mukherjee Sep 12, 2007 - 7:25 AM

Can you be more specific in your reply...
I am unable to locate any such forum postings...

Technical Support Sep 12, 2007 - 1:06 PM

Please let us know if it would be suitable for you if we just connect to your desktop and find out what’s wrong?

Debabrata Mukherjee Sep 6, 2007 - 7:46 AM

PFB the call stack

/*******************************************************************************************************************************/

>    mfc80d.dll!CWnd::AssertValid() Line 894 + 0x1b bytes    C++
    SaBins.ocx!CExtTabWnd::AssertValid() + 0x2b bytes    
    mfc80d.dll!AfxAssertValidObject(const CObject * pOb=0x02ca87b8, const char * lpszFileName=0x09397cd0, int nLine=5849) Line 107    C++
    SaBins.ocx!CExtPopupMenuTipWnd::Show() + 0x73 bytes    
    SaBins.ocx!CExtTabWnd::OnAdvancedPopupMenuTipWndDisplay() + 0x8f bytes    
    SaBins.ocx!CExtTabWnd::OnTabWndMouseTrackingHoverStart() + 0x58a bytes    
    SaBins.ocx!CExtTabWnd::_ProcessMouseMove() + 0x429 bytes    
    SaBins.ocx!CExtTabWnd::OnMouseMove() + 0x41 bytes    
    mfc80d.dll!CWnd::OnWndMsg(unsigned int message=512, unsigned int wParam=0, long lParam=786623, long * pResult=0x0012f8b0) Line 2169    C++
    mfc80d.dll!CWnd::WindowProc(unsigned int message=512, unsigned int wParam=0, long lParam=786623) Line 1741 + 0x20 bytes    C++
    SaBins.ocx!CExtTabWnd::WindowProc() + 0xb6 bytes    
    mfc80d.dll!AfxCallWndProc(CWnd * pWnd=0x02ca87b8, HWND__ * hWnd=0x00180efe, unsigned int nMsg=512, unsigned int wParam=0, long lParam=786623) Line 240 + 0x1c bytes    C++
    mfc80d.dll!AfxWndProc(HWND__ * hWnd=0x00180efe, unsigned int nMsg=512, unsigned int wParam=0, long lParam=786623) Line 389    C++
    SaBins.ocx!AfxWndProcDllStatic(HWND__ * hWnd=0x00180efe, unsigned int nMsg=512, unsigned int wParam=0, long lParam=786623) Line 73 + 0x15 bytes    C++
    user32.dll!7e418734()     
    [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]    
    user32.dll!7e418816()     
    user32.dll!7e41f805()     
    user32.dll!7e4189cd()     
    user32.dll!7e431b3c()     
    user32.dll!7e418a10()     
    user32.dll!7e42d99d()     
    user32.dll!7e43c69b()     
    mfc80d.dll!COccManager::IsDialogMessageA(CWnd * pWndDlg=0x02c5e780, tagMSG * lpMsg=0x01015374) Line 805 + 0x11 bytes    C++
    mfc80d.dll!CWnd::IsDialogMessageA(tagMSG * lpMsg=0x01015374) Line 195 + 0x20 bytes    C++
    mfc80d.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x01015374) Line 4268    C++
    SaISD.exe!CExtControlBar::PreTranslateMessage(tagMSG * pMsg=0x01015374) Line 18584    C++
    mfc80d.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x00160f16, tagMSG * pMsg=0x01015374) Line 2882 + 0x14 bytes    C++
    mfc80d.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x01015374) Line 233 + 0x12 bytes    C++
    mfc80d.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x01015374) Line 773 + 0x9 bytes    C++
    SaISD.exe!CSaIsApp::PreTranslateMessage(tagMSG * pMsg=0x01015374) Line 538    C++
    SaISD.exe!CVbfxApp::PumpMessage() Line 478 + 0x25 bytes    C++
    SaISD.exe!CVbfxApp::MessageLoop(int bPushedByHost=1) Line 569 + 0x8 bytes    C++
    SaISD.exe!CVbfxApp::Run() Line 527    C++
    mfc80d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00152327, int nCmdShow=1) Line 47 + 0xd bytes    C++
    SaISD.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00152327, int nCmdShow=1) Line 29    C++
    SaISD.exe!__tmainCRTStartup() Line 578 + 0x35 bytes    C
    SaISD.exe!WinMainCRTStartup() Line 403    C
    kernel32.dll!7c816fd7()     
/****************************************************************************************************************************************/

Even I have not used any handling for this,But some how it seems to be getting this assertion error when mouse is being hovered.
Can you give me some pointers...

Thanks


Technical Support Sep 7, 2007 - 6:52 AM

We believe the problem may deal with managing the state in an incorrect way and it should be gone by applying the correct RDE version to your regular DLLs. If more than one regular DLL uses Prof-UIS, you should link them with Prof-UIS statically. Otherwise, the state managing will not be performed correctly in any hook based components. This means you would not be able to use only simple non-hook based controls.

This problem was already discussed many times, so you can find information about how to use this yourself by running the forum search.

Technical Support Sep 6, 2007 - 5:32 AM

The mouse hover event over scroll/help/tab-list/close buttons in the tab window only repaint them in the hovered style. You should not try handling this event. Could you show the content of the Call Stack window content in Visual Studio when the assertion failure occurs?


Suhai Gyorgy Sep 6, 2007 - 1:36 AM

When you have a problem where there is a debug assertion involved, it is always very helpful to post the call stack as it is at the time of the assert. It’s a starting point to find out what causes the problem.

There shouldn’t be any specific handling you need to do in your case. But let’s see the call stack.