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 » Application get stuck in tab container Collapse All
Subject Author Date
Offer Har Mar 3, 2009 - 12:55 PM

Dear Support,


We have an an application, that sometimes get stuck when switching tabs. Can you please look at the stack and see if you can figure what can cause it? It seems to never exit ProfUIS’s hooks as you can see below.


Thanks,


Ron.



	 ProfUIS284md.dll!_RTC_CheckStackVars(void * frame=0xffffff90, _RTC_framedesc * v=0xffffff98)  + 0x48 bytes    C++
>    ProfUIS284md.dll!CExtResizableDialog::OnHookSpyPreTranslateMessage(tagMSG * pMSG=0x0012e988)  Line 283 + 0xf bytes    C++
	 ProfUIS284md.dll!CExtHookSpy::HSLL_OnCallWindowProcIn(bool & bCallNextHook=true, long & lResult=0, int nCode=0, bool bMessageSentByCurrentThread=false, tagCWPSTRUCT * pMessageData=0x0012ea74)  Line 1590 + 0x13 bytes    C++
	 ProfUIS284md.dll!CExtHookSpy::HookSpyItem_t::SHS_HookCallWindowProcIn(int nCode=0, unsigned int wParam=0, long lParam=1239668)  Line 1242 + 0x27 bytes    C++
	 user32.dll!7e431923()     
	 [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]    
	 user32.dll!7e44f460()     
	 user32.dll!7e45879a()     
	 ntdll.dll!7c90e453()     
	 user32.dll!7e4194be()     
	 user32.dll!7e42c174()     
	 user32.dll!7e4292e3()     
	 user32.dll!7e424c99()     
	 user32.dll!7e424cef()     
	 user32.dll!7e423df9()     
	 user32.dll!7e43e577()     
	 mfc80d.dll!CWnd::OnWndMsg(unsigned int message=24, unsigned int wParam=0, long lParam=0, long * pResult=0x04b4d568)  Line 1866 + 0x19 bytes    C++
	 mfc80d.dll!CWnd::WindowProc(unsigned int message=24, unsigned int wParam=0, long lParam=0)  Line 1742 + 0x1c bytes    C++
	 ProfUIS284md.dll!CExtWS<CExtADLG<CExtResDlg>,301>::WindowProc(unsigned int message=24, unsigned int wParam=0, long lParam=0)  Line 1197    C++
	 ProfUIS284md.dll!CExtWA<CExtWS<CExtADLG<CExtResDlg>,301> >::WindowProc(unsigned int message=24, unsigned int wParam=0, long lParam=0)  Line 1843 + 0x14 bytes    C++
	 ProfUIS284md.dll!CExtResizableDialog::WindowProc(unsigned int message=24, unsigned int wParam=0, long lParam=0)  Line 378 + 0x14 bytes    C++
	 mfc80d.dll!AfxCallWndProc(CWnd * pWnd=0x04b4d568, HWND__ * hWnd=0x00ab0d98, unsigned int nMsg=24, unsigned int wParam=0, long lParam=0)  Line 240 + 0x1c bytes    C++
	 mfc80d.dll!AfxWndProc(HWND__ * hWnd=0x00ab0d98, unsigned int nMsg=24, unsigned int wParam=0, long lParam=0)  Line 389    C++
	 mfc80d.dll!AfxWndProcBase(HWND__ * hWnd=0x00ab0d98, unsigned int nMsg=24, unsigned int wParam=0, long lParam=0)  Line 411 + 0x15 bytes    C++
	 user32.dll!7e418734()     
	 user32.dll!7e418816()     
	 user32.dll!7e42a013()     
	 user32.dll!7e42a998()     
	 BaseUI.dll!CMsgHandler::GlobalWndProc(HWND__ * hWnd=0x00ab0d98, unsigned int uMsg=24, unsigned int wParam=0, long lParam=0)  Line 25 + 0x1e bytes    C++
	 BaseUI.dll!stdcallGlobalWndProc(HWND__ * hWnd=0x00ab0d98, unsigned int uMsg=24, unsigned int wParam=0, long lParam=0)  Line 63 + 0x15 bytes    C++
	 user32.dll!7e418734()     
	 user32.dll!7e418816()     
	 user32.dll!7e428ea0()     
	 user32.dll!7e428eec()     
	 ntdll.dll!7c90e453()     
	 user32.dll!7e42af62()     
	 ProfUIS284md.dll!CExtTabPageContainerWnd::OnTabWndSelectionChange(long nOldItemIndex=0, long nNewItemIndex=1, bool bPreSelectionTest=false)  Line 1204 + 0xe bytes    C++
	 App.exe!CAppView::CTab::OnTabWndSelectionChange(long nOldItemIndex=0, long nNewItemIndex=1, bool bPreSelectionTest=false)  Line 255 + 0x17 bytes    C++

DAN MAZILU Mar 4, 2009 - 1:30 AM

You may try to set WS_EX_CONTROLPARENT extended style to your tab : http://blogs.msdn.com/oldnewthing/archive/2004/07/30/201988.aspx

Offer Har Mar 4, 2009 - 3:11 AM

Thanks Dan!


Seems to solve the problem.

Offer Har Mar 3, 2009 - 1:22 PM

Dear Support,


There is another problem - if I do not set the control attribure to true, and I come back to the first tab, the control with the focus in the sub-dialog (if it’s a text box) is not drawn correctly (it’s content is not drawn)


I will send you a sample application that reproduces this bug.


Regards,


Ron.

Offer Har Mar 3, 2009 - 1:20 PM

Dear Support,


I think I found the problem - I would like some explanations:


I have two tabs - one contains a sub-dialog. If the sub-dialog has the control, then when switching into the second tab the application hangs with the stack above. This happens only if the sub-dialog have the Control attribute set to true.


I have an application for you that can reproduce this bug, if you want I can send it to you.


Regards,


Ron.