Updated from 17.3 to 18.2 - Dialog App freezes |
Post Reply |
Author | |
MacW
Senior Member Joined: 26 June 2007 Status: Offline Points: 253 |
Post Options
Thanks(0)
Posted: 29 November 2017 at 1:24pm |
I've just installed the 18.2 and re-compiled my Dialog-based MFC app.
This app has been successfully compiled and used with late 16 and all 17 editions of XTPro. Running it with 18.2 has these effects: The app dialog shows up, but is only partially drawn. The app is not responding, it seems to hang in some infinite internal redraw loop (?). 1. In Instance (before the dialog is opened) I initialize the SkinManager XTPSkinManager()->SetAutoApplyNewThreads(FALSE); XTPSkinManager()->SetAutoApplyNewWindows(TRUE); XTPSkinManager()->LoadSkin(T("styles\\Office2010.cjstyles"), _T("NormalSilver.ini")); This always worked, the app is skinned etc. But now it freezes. If I comment out line 3 (LoadSkin) the app is no longer skinned but works fine. 2. I tried to move the LoadSkin into the Dialog class, which is derived from CXTPDialogBase<CXTResizeDialog>. This prevented the freeze, but also caused the dialog to become unstyled as soon as I resize the dialog by dragging the lower right edge. And, the dialog frame always stays in the same size, but the contents of the window move outside the dialog: see image below. Where do I even start looking for something this weird? The only chance for shipping my app now is either going back to CJ 17.3 and asking for a refund or get a solution fast. |
|
olebed
Admin Group Joined: 01 July 2014 Location: Ukraine Status: Offline Points: 841 |
Post Options
Thanks(0)
|
Hello MacW,
Please create support ticket with description, screenshots and sample application. Regards, Oleksandr Lebed |
|
MacW
Senior Member Joined: 26 June 2007 Status: Offline Points: 253 |
Post Options
Thanks(0)
|
Can this be a concurrently issue or something?
When problem happens if happens always in some kind of infinite loop inside the 'hook' functions XTP runs everywhere. A synthetic small example app does not show the problem, tried that already. Like so often. A real app which message handlers, command handlers, XTP markup processing, buttons and other controls shows the problem. After several hours of digging it seems that the xtpSkinApplyFrame option is causing the problem. When I exclude it from the skin manager, no problems anymore. Apparently. Still testing. I swapped back to XTP 17.3 for testing and the problem is gone. The only change is the XTP version. My main app, which also uses the skin framwork does not show this behavior (thankfully). |
|
olebed
Admin Group Joined: 01 July 2014 Location: Ukraine Status: Offline Points: 841 |
Post Options
Thanks(0)
|
In such cases we can use remote debugging with TeamViewer. SkinFramework is sophisticated library and to find reason of some issues I even search revision after which issue happens.
|
|
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 891 |
Post Options
Thanks(0)
|
Hi Mac,
You tried moving the code to OnInitDialog()? OnShowWindow()? When locked up, what does the TaskManager details view show for cpu usage for your app? If caught in some looping scenario, you should see the cpu grinding away. If you debug break a few times when locked up, are you always in the same code? Can you step thru code or when you "step" using the debugger does the debugger just act like you hit continue? Once you break, you can examine all the threads and see if they are all waiting on some object. But the main thread is the one you want to observe and see what, if anything, is happening. |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |