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 » Big EXE Code size increase from 2.84 to 2.85 Collapse All
Subject Author Date
Neville Franks Jul 20, 2009 - 7:26 PM

I am using a static library build of Prof-UIS with a numberof  #defines in Prof-UIS.h uncommented to reduce the final .EXE size. I  have just upgraded from V2.84 to V2.85 and the .EXE size has increased by 3,219KB or over 3MB for the Release Build. I compared the V2.84 and V2.85 versions of Prof-UIS.h and found two new #defines __EXT_MFC_NO_FORMULA_GRID and __EXT_MFC_NO_GEO_CONTROLS which were not included in the V2.85 // trial/commercial features section of the .h. I have added these and done a complete rebuild but they made little difference. I then went back and did a clean rebuild using V2.84 to verify the increase in code size was correct.


I have had a quick look at the .MAP file to see if I could see where all the extra code is coming from but nothing was obvious. I am using VS2008.


I don’t want my .EXE to increase by 3MB for no benefit to my users.


This is the // trial/commercial features section of my Prof-UIS.h file.


// trial/commercial features

//#define __EXT_MFC_NO_TAB_CTRL

//#define __EXT_MFC_NO_TABMDI_CTRL

#define __EXT_MFC_NO_TABFLAT_CTRL

//#define __EXT_MFC_NO_TABBUTTONS_CTRL

//#define __EXT_MFC_NO_TAB_ONENOTE_CTRL

#define __EXT_MFC_NO_TAB_WHIDBEY_CTRL

// #define __EXT_MFC_NO_TAB_CONTROLBARS              // Needed for SUL

#define __EXT_MFC_NO_TOOLBOX_CTRL

#define __EXT_MFC_NO_SHORTCUTLIST_CTRL

#define __EXT_MFC_NO_PAGECONTAINER_CTRL

#define __EXT_MFC_NO_GRIDBASEWND

#define __EXT_MFC_NO_GRIDWND

#define __EXT_MFC_NO_FORMULA_GRID           // NF 21/07/2009

// #define __EXT_MFC_NO_IMAGEEDITWND        // Needed for Toolbar Button Image Editor

//#define __EXT_MFC_NO_COLORPALETTE

// #define __EXT_MFC_NO_ICONEDITDLG         // Needed for Toolbar Button Image Editor

// #define __EXT_MFC_NO_BUILTIN_TEXTFIELD            // Needed for __ECTN_TBB_DATE use!

// #define __EXT_MFC_NO_BUILTIN_DATEFIELD   // Required for SUL.

//#define __EXT_MFC_NO_CUSTOMIZE

// #define __EXT_MFC_NO_TAB_PAGECONTAINER_CTRL       // Prof-UIS need this!

#define __EXT_MFC_NO_TAB_PAGECONTAINER_FLAT_CTRL

#define __EXT_MFC_NO_TAB_PAGECONTAINER_BUTTONS_CTRL

// #define __EXT_MFC_NO_TAB_PAGECONTAINER_ONENOTE_CTRL

#define __EXT_MFC_NO_TAB_PAGECONTAINER_WHIDBEY_CTRL

#define __EXT_MFC_NO_DATE_BROWSER

// #define __EXT_MFC_NO_DATE_PICKER     // Needed for SUL.

// #define __EXT_MFC_NO_DATE_PICKER_POPUP

// #define __EXT_MFC_NO_PAGE_NAVIGATOR

#define __EXT_MFC_NO_UNDO_REDO_POPUP

#define __EXT_MFC_NO_DURATIONWND

#define __EXT_MFC_NO_DATETIMEWND

#define __EXT_MFC_NO_TREEGRIDWND

#define __EXT_MFC_NO_PROPERTYGRIDWND

#define __EXT_MFC_NO_REPORTGRIDWND

#define __EXT_MFC_NO_TABBED_TOOLBAR

#define __EXT_MFC_NO_TABBED_TOOLBAR_FLAT

#define __EXT_MFC_NO_TABBED_TOOLBAR_BUTTONS

#define __EXT_MFC_NO_TABBED_TOOLBAR_ONENOTE

#define __EXT_MFC_NO_TABBED_TOOLBAR_WHIDBEY

#define __EXT_MFC_NO_TASK_PANE

#define __EXT_MFC_NO_RIBBON_BAR

#define __EXT_MFC_NO_PRINT

#define __EXT_MFC_NO_SHELL

#define __EXT_MFC_NO_SHELL_TREE_VIEW_CTRL

#define __EXT_MFC_NO_SHELL_LIST_VIEW_CTRL

#define __EXT_MFC_NO_SHELL_COMBO_BOX

#define __EXT_MFC_NO_SHELL_EXTENSIONS_COMBO_BOX

#define __EXT_MFC_NO_SHELL_DIALOG_BFF

#define __EXT_MFC_NO_SHELL_DIALOG_FILE

#define __EXT_MFC_NO_GEO_CONTROLS   // NF 20/07/2009



// optional features (you can also exclude some resources in the resource.rc file)

#define __EXT_MFC_NO_PROF_UIS_ABOUT_DIALOG

#define __EXT_MFC_NO_MDI_WINDOWS_LIST_DIALOG

#define __EXT_MFC_NO_SPLITTER_WND

//#define __EXT_MFC_NO_DOCK_MARKERS

//#define __EXT_MFC_NO_EXTCONTENTEXPANDWND_H

//#define __EXT_MFC_NO_DYNAMIC_BAR_SITE

// #define __EXT_MFC_NO_CHECK_LIST

// #define __EXT_MFC_NO_SCROLLWND

#define __EXT_MFC_NO_SCROLLCONTAINERWND

//#define __EXT_MFC_NO_SCROLLITEMWND

//#define __EXT_MFC_NO_SCROLLCONAINERWND

// #define __EXT_MFC_NO_SPIN     // Need for CExtPaintManager::PAINTTOOLBARTEXTFIELDDATA -> PaintSpinButton()

//#define __EXT_MFC_NO_STATUSBAR

//#define __EXT_MFC_NO_NC_FRAME

//#define __EXT_MFC_NO_PROGRESS_WND

//#define __EXT_MFC_NO_THEME_SWITCHER_TOOLBAR

#define __EXT_MFC_NO_TREE_VIEW_CTRL

#define __EXT_MFC_NO_LIST_VIEW_CTRL



Thanks.

Neville Franks Jul 22, 2009 - 1:51 AM

Thanks.


#include "ResGeoControls\\ResGeoControls.rc"


added the 3MB, so commenting that out resolved my main issue.


Uncommenting the __EXT_MFC_NO_RESOURCES_*** lines saved another 8442KB which is welcome.

Technical Support Jul 21, 2009 - 8:50 AM

Please comment out all unnecessary resources in the ...\Prof-UIS\Include\Resources\resource.rc file. First of all, you can remove unnecessary languages by uncommenting //#define __EXT_MFC_NO_RESOURCES_*** lines. Then you can comment out the following line if you don’t need geographic controls and, as a result, you will save 3 MB:

#include "ResGeoControls\\ResGeoControls.rc"
If you don’t need Office 2007 themes, then you can comment the next line and save the next 3MB:
#include "Res2007\\Res2007.rc"

Neville Franks Jul 22, 2009 - 1:52 AM

Thanks.


 


#include "ResGeoControls\\ResGeoControls.rc"


 


added the 3MB, so commenting that out resolved my main issue.


 


Uncommenting the __EXT_MFC_NO_RESOURCES_*** lines saved another 8442KB which is welcome.


Neville Franks http://www.surfulater.com