|
|
|
|
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.
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
|
|