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 » Additional information related to the font problem with prof-UIS 2.60 Office2007 themes Collapse All
Subject Author Date
Christophe Guibert Sep 20, 2006 - 2:28 PM

Hello,
Sorry to bother you again, but this may interest you anyway.

When I submitted the font problem with Office2007 themes (other themes work well), I also had a systematic problem with some dialogs derived from the CExtResizableDialog : the paint manager asserted before the OnInitDialog() method was called.

I was investigating why some dialogs would fail while others would work well, with no clues : some dialogs were extremely simple but would fail anyway. This problem appeared only with the new Office2007 themes (Luna Blue and others). It appeared in prof-UIS 2.54 and 2.60 as well. In debug mode, there was an assertion, in release mode, the dialog was not displayed and the application ran normally except the dialog display.

I have inserted the patch for the CExtLabel you suggested, recompiled the prof-UIS library, linked it statically with my application, and the CExtResizableDialog problem has disappeared ! All dialogs work well now and I can use your nice Luna Bleu theme.

This behavior reminds me of a bounds-check problem, if I can suggest.

Best Regards,

Christophe Guibert

Christophe Guibert Sep 21, 2006 - 3:11 AM

Hello,
Following previous message, I executed the same build on another machine (Windows 2000), and it fails again to display some simple dialogs while others are correctly treated : assertion failed in the DoModal_implementation of CExtResizableDialog in debug mode (** not in the paint manager : that’s to be corrected in the previous message, sorry **), nothing displayed in release mode.

This remain specific of new Office2007 paint manager classes : works well with others.

So I temporarily revert to VisualStudio2005 paint manager, hoping you’ll find something in the Luna Blue paint manager, because it is really nice.

Best Regards,

Christophe Guibert

Technical Support Sep 21, 2006 - 6:22 AM

Could you create a simple dialog-based project and port your dialog resource and source code to reproduce the problem with 2007 themes and send this project to us?

Christophe Guibert Sep 21, 2006 - 3:58 PM

Hello,

The situation gets more and more complex : I’ve created a simple dialog based project and port both resource and code from a dialog which would not work, and it works in the sample project... So it won’t help you.

I tried additional diagnosis...

My application initially displays a progress status window showing a multiline text that is repeatedly updated as initialisation is done. This is a working dialog with a CExtLabel object. The application will fail later on other dialogs. If the initial dialog is not shown the application will fail differently, and much later.

So keeping the initial progress dialog, I’ve done additional tests, using the CExtPaintManagerOffice2003 paint manager :
1. Removed the patch you proposed on CExtLabel::WindowProc() [adding lpszText[ wParam - 1 ] = _T(’\0’);] and rebuilt the Prof-UIS library (ProfUIS260sud.lib)
1.1 Compiled / linked statically the application with Unicode support, debug mode.
1.2 --> The application now fails on standard dialogs while getting CString text (GetWindowText()) from standard CStatic objects with un-terminated strings !

2. Patched again the CExtLabel::WindowProc() as you proposed and rebuilt the Prof-UIS library (ProfUIS260sud.lib).
2.1 Compiled / linked statically the application with Unicode support, debug mode.
2.2 --> The application runs properly in every aspects.

3. Kept the patch and revert to CExtPaintManagerOffice2007_R2_LunaBlue paint manager
3.1 Compiled / linked statically the application with Unicode support, debug mode.
3.2 --> The application runs properly in every aspects on my WindowsXP machine, and fails on some dialogs (always the same) on the Windows2000 machine.

4. Reverted to Prof-UIS 2.54 (so, without the CExtLabel::WindowProc() patch), kept the CExtPaintManagerOffice2007_R2_LunaBlue paint manager
4.1 Rebuilt my application (static Unicode Debug)
4.2 --> It seems to work properly, including the dialogs that would fail with prof-UIS 2.60 in the same conditions.

I do not understand, it seems to me that something is broken or overwriten in memory when using the prof-UIS 2.60, but I have no clues.

I will stay with prof-UIS 2.54 release and CExtPaintManagerOffice2007_R2_LunaBlue paint manager, and further investigate.

Hope this will be of any help...

Best Regards,

Christophe Guibert

Technical Support Sep 22, 2006 - 9:16 AM

Would you send us asserttion failure message boxes, call stacks, screenshots and any other debug information that can help us figure out what is wrong?