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 » Still CExtHookSpy problems in 2.85 Collapse All
Subject Author Date
Carsten Pedersen Jun 16, 2009 - 1:51 AM

Hi,

As I wrote in this thread (which wasn’t fully answered) http://www.prof-uis.com/prof-uis/tech-support/support-forum/high-cpu-in-284-63242.aspx

we have a problem with our Dialog based application, that uses a wide range of the ProfUIS controls. As mentioned in the above thread, all other controls work, except when I press a CExtButton. The app hangs, and when I pause debugging, it sits at the CWinApp::PreTranslateMessage

This is the debug call stack:
------------------------------------------
MyApp.exe!HashKey<CExtHookSpy *>(CExtHookSpy * key=0x0012c494) Line 159 + 0x1c    MyApp.exe!CMap<CExtHookSpy *,CExtHookSpy *,bool,bool>::GetAssocAt(CExtHookSpy * key=0x0012c494, unsigned int & nHashBucket=3435973836, unsigned int & nHashValue=3435973836) Line 1534 + 0x9    
    MyApp.exe!CMap<CExtHookSpy *,CExtHookSpy *,bool,bool>::Lookup(CExtHookSpy * key=0x0012c494, bool & rValue=false) Line 1556 + 0x14    
    MyApp.exe!CExtHookSpy::HookSpyItem_t::IsRegistered(CExtHookSpy * pHS=0x0012c494, unsigned long dwEHSEF=4294967295) Line 802 + 0x13    
    MyApp.exe!CExtHookSpy::HookSpyIsRegistered(const CExtHookSpy * pHS=0x0012c494, unsigned long dwEHSEF=4294967295) Line 1814 + 0x19    
    MyApp.exe!CExtHookSpy::HookSpyIsRegistered(unsigned long dwEHSEF=4294967295) Line 267 + 0xd    
    MyApp.exe!CExtHookSpy::HSLL_OnCallWindowProcIn(bool & bCallNextHook=true, long & lResult=0, int nCode=0, bool bMessageSentByCurrentThread=false, tagCWPSTRUCT * pMessageData=0x00123ad0) Line 1592 + 0xa    
    MyApp.exe!CExtHookSpy::HookSpyItem_t::SHS_HookCallWindowProcIn(int nCode=0, unsigned int wParam=0, long lParam=1194704) Line 1242 + 0x25    
    user32.dll!7e431923()     
    user32.dll!7e44f460()     
    user32.dll!7e45879a()     
    ntdll.dll!7c90e473()     
    user32.dll!7e4194be()     
    user32.dll!7e42c174()     
    user32.dll!7e4292e3()     
    user32.dll!7e424c99()     
    user32.dll!7e42603e()     
    user32.dll!7e44715f()     
    user32.dll!7e43c6d3()     
    mfc71d.dll!CWnd::IsDialogMessageA(tagMSG * lpMsg=0x001649d8) Line 200    
    mfc71d.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x001649d8) Line 4512    
    mfc71d.dll!CDialog::PreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 83    
    MyApp.exe!CExtWS<CExtADLG<CExtResDlg>,301>::PreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 622    
    MyApp.exe!CExtResizableDialog::PreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 593    
    mfc71d.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x01b103de, tagMSG * pMsg=0x001649d8) Line 3129 + 0x12    
    mfc71d.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 238 + 0x12    
    mfc71d.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 795 + 0x9    
    MyApp.exe!CMyAppApp::PreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 173    
    mfc71d.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x001649d8) Line 257 + 0xf    
    mfc71d.dll!AfxInternalPumpMessage() Line 183 + 0x18    
    mfc71d.dll!CWinThread::PumpMessage() Line 916    
    mfc71d.dll!AfxPumpMessage() Line 195 + 0xb    
    mfc71d.dll!CWnd::RunModalLoop(unsigned long dwFlags=4) Line 4566 + 0x5    
    MyApp.exe!CExtResDlg::_DoModalImpl() Line 6372 + 0xc    
    MyApp.exe!CExtResDlg::DoModal() Line 6316 + 0x10    
    MyApp.exe!CMyAppApp::InitInstance() Line 100    
    mfc71d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00161f2f, int nCmdShow=1) Line 39 + 0xb    
    MyApp.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00161f2f, int nCmdShow=1) Line 25    
    MyApp.exe!WinMainCRTStartup() Line 390 + 0x39    C
    kernel32.dll!7c817077()     
    ntdll.dll!7c915d47()     
------------------------------------------

The issue is not present with 2.83, only with 2.84 and 2.85.

The project is ported to using ProfUIS, and ProfUIS is not installed on my computer, I use the source files and the libs (ymd-libs) I built using the workspaces provided with the full source code.

Best regards,
Carsten

Technical Support Jun 17, 2009 - 9:15 AM

Please send it to the support mail box at this web site.

Technical Support Jun 16, 2009 - 12:44 PM

Is it possible to create a stripped version of your project with UI code only that reproduces this issue?

Carsten Pedersen Jun 17, 2009 - 1:00 AM

We will try to strip the project down as much as possible. Where should I send the zip?

Carsten Pedersen Jun 16, 2009 - 2:09 AM

I can inform you that we have a dialog class that contains a CExtTabWnd. Inside each tab is a child dialog that is created runtime. It is inside this child dialog that the CExtButton resides.

Best regards