User: anonymous 

XLL+ Release History

4.1.0

Date: 06-Feb-2002
Description: Initial release
Files: xllplus41-02020601.zip

4.1.1

Date: 14-Feb-2002
Description: Maintenance release
Files: xllplus41-02021401.zip

ItemChangeDescription
F00021 FIX - Function Wizard fails to accept input in empty files If the Function Wizard was opened using the Edit Function tool, and the file being edited contained no add-in functions, and a new function was added using the New Function button, user input was thereafter rejected for some fields of the wizard. This behavior has been fixed.
E00032 ENH - New date functions added New date functions were added to xlldate.h: XlNow(), XlToday(), XlWeekday(), XlStringToSerial() and XlStringToLSerial().

4.1.2

Date: 20-Feb-2002
Description: Maintenance release
Files: xllplus41-02022001.zip

ItemChangeDescription
F00022 FIX - Fixed some empty links in User Guide  
F00023 FIX - Clicking on a tool button loses recent changes to text grid fields Function Wizard: If a text field in the argument grid was changed, and then, while the cursor was in the text field, a toolbutton or menu choice was used, the changes to the text field were lost. This behavior has been fixed.
F00024 FIX - Deleting //}}XLP_SRC caused inconsistent behavior Function Wizard: If the //}}XLP_SRC delimiter was deleted, then the Function Wizard would load the function and allow user modifications, but these changes could not be saved. This behavior has been fixed.

4.1.3

Date: 22-Feb-2002
Description: Maintenance release
Files: xllplus41-02022201.zip

ItemChangeDescription
F00025 FIX - Various typos in User Guide  
E00033 ENH - CXllApp::GetXllName() added A new method, CXllApp::GetXllName(), returns the full path of the current XLL module.
F00026 FIX - CXllCom::OleGetRangeAddress() This function was returning local addresses only. This behavior has been fixed.
F00027 FIX - CVariant::Compare() This method was returning unpredictable results. This behavior has been fixed.
E00034 ENH - CXllCom documentation All the methods of the CXllCom class have now been documented.
F00028 FIX - Incomplete uninstall After uninstallation, some keys were left in the registry, which caused problems the next time MSDev was run. This behavior has been fixed.

4.1.4

Date: 06-Feb-2002
Description: Maintenance release
Files: xllplus41-02022601.zip

ItemChangeDescription
F00029 FIX - CXlRef::Width() CXlRef::Width() returned a BYTE and therefore failed when a range contained 256 columns. It now returns a WORD.
F00030 FIX - CXlArray::GetWidth() + CXlArray::GetHeight() These methods returned WORD. They now return USHORT, in line with COper and CXlOper.
E00035 ENH - New method CXlArray::GetDims() This method was added to bring CXlArray in line with COper and CXlOper.
E00036 ENH - Technical Notes A new topic, "Comparison of COper, CXlOper and CXlArray" has been added to the Technical Notes.
E00037 ENH - AppWizard The AppWizard now opens the project's main C++ source file after it has finished creating the project.
F00031 FIX - Function Wizard changes selection after saving If a function was saved using the save button, the wizard would change its selection to the function selected when the wizard first opened. This behavior has been fixed.
F00032 FIX - Function Wizard does not display saved changes If a function was saved by the save button, or before changing the selected function, the wizard would not display the updates but would instead display the version originally loaded. This behavior has been fixed.
F00033 FIX - Various typos in Reference Guide and Function Wizard help  
F00034 FIX - Function Wizard displays error when adding column group If a new function was created, and the first argument to be added to it was a group, the Wizard displayed an error message. This behavior has been fixed.
F00035 FIX - Function Wizard pops up argument editor when changing argument type If an argument's type was changed to a group in the Arguments grid of the Function Wizard, the argument editor popped up. This behavior has been removed.
F00036 FIX - Generated functions did not include CXlArray instantiation The Function Wizard did not generate code to instantiate a CXlArray object from a LPXLARRAY type input. This has been fixed.
F00037 FIX - Arrays of strings were wrongly declared The Function Wizard did not generate code to correctly instantiate an array of strings, creating a collection of pointers instead of a collection of strings. e.g. vector<const char*>, which should be vector<CString>. This has been fixed.
E00038 ENH - New demo project ArgSize A new demo project, ArgSize, has been added. This, along with the test spreadsheet ArgSize.xls, demonstrates argument size limits.

4.1.5

Date: 03-Mar-2002
Description: Commercial release
Files: xllplus41-02030301.zip

ItemChangeDescription
E00039 ENH - AppWizard renamed The AppWizard binary file has been renamed to XLLPLUS4.AWX, so as to remove any conflicts with earlier versions of XLL+. Version 4.1 can now be run in parallel with earlier versions.
E00040 ENH - New CXllCom methods added 3 new methods were added to CXllCom: OleGetWorksheetName(), OleGetRangeWorksheet() and OleGetWorksheetWorkbook().

4.1.6

Date: 14-Mar-2002
Description: Maintenance release
Files: xlp_4_1_6.exe xlp_demo_4_1_6.exe

ItemChangeDescription
F00038 FIX - Setup program failed without Administrator priviliges The InstallShield setup program failed and aborted when run by a user without Administrator rights on the installation machine. This condition is now detected by the setup program and a useful error message is issued.
F00039 FIX - DinkumWare libraries supported The COM methods of CXllApp failed under some conditions when the STL XLL+ run-time libraries were used with the DinkumWare STL headers. This was due to a conflict between the DinkumWare map classes and those in the Microsoft release. This has been fixed, and all versions of the XLL+ run-time libraries can be used with both the DinkumWare and the Microsoft STL headers.
F00040 FIX - MFC build uses CXllApp::POSITION As a side-effect of F00039 (support for DimkumWare libraries), the signatures of CXllApp::GetStartFnPosition() and CXllApp::GetNextFnAssoc() in the MFC run-time libraries have been altered. These now use CXllApp::POSITION instead of POSITION for iteration. Any MFC code that uses these functions should be changed, with instances of POSITION replaced by CXllApp::POSITION.
F00041 FIX - XLLPLUS.H no longer #includes <map> As a side-effect of F00039 (support for DimkumWare libraries), the STL <map> header file is no longer #included by XLLPLUS.H. Any applications that use map classes without explictly #including <map> now need to do so. This applies to the demo project Tutorial1.
E00041 ENH - ::XllGetVersion() no longer inline The global function XllGetVersion() is now implemented in the run-time libraries, rather than inline. You can compare XllGetVersion() (implemented in the run-time library) and XLLPLUS_VERSION (implemented in XLLPLUS.H) to ensure that headers and libraries are in sync.

4.1.7

Date: 19-Apr-2002
Description: Enhancement release
Files: xlp_4_1_7.exe xlp_demo_4_1_7.exe

ItemChangeDescription
F00042 FIX - Empty example links Empty example links were replaced in Reference Guide.
E00042 ENH - XllPush library added The XLLPUSH library, supporting asynchronous functions, was added. New files: XllPush.lib, XlpPush.h, XllPushApp.h, XlpMtMsg.h, XlpAsync.dll.
E00043 ENH - Asynchronous demos added Three new sample libraries were added, to demonstrate various uses of the XllPush library: MtBackground, MtCalc and MtFeed.
E00044 ENH - AppWizard: XllPlus.h included in project The file XllPlus.h is now automatically added to the list of files in a new project. This makes the XLL+ header files known to the DevStudio parser, and thereby switches on IntelliSense for XLL+ classes and functions.
E00045 ENH - New reference methods for CXlOper New methods for references have been added to CXlOper: SetValue(), MakeRef(), GetActiveCell() and SetActiveCell().
E00046 ENH - New reference methods for CXllApp New methods for references have been added to CXllApp: MakeSheetName(), SplitSheetName(), GetSheetId() and GetSheetName().
E00047 ENH - New errror handling method for CXllApp A new method for has been added to CXllApp, SetErrorHandling(), which switches on and off XL4 macro error handling.
E00048 ENH - New class CXllFinder A new class has been added, to support find and replace operations.
E00049 ENH - New sample application FindReplace A new sample application, FindReplace, shows how to use the CXllFinder class.
E00050 ENH - New chapter in user guide: Macro functions A new chapter on Macro functions has been added to the User Guide.
E00051 ENH - New tech note: Bounded input arrays A new technical note has been added, which discusses the use of upper bounds in ReadVector() and ReadMatrix().
E00052 ENH - New chapter in user guide: Writing safe functions A new chapter on exception handling has been added to the User Guide.
E00053 ENH - New sample application SafeCode A new sample application, SafeCode, shows how to protect your code with Structured Exception Handling.
E00054 ENH - Sample applications added to documentation A new section in the online documentation describes each of the sample applications.

4.2.0

Date: 20-Sep-2002
Description: Initial beta release
Files: xlp_4_2_0.exe xlp_demo_4_2_0.exe

ItemChangeDescription
E00055 ENH - New string methods for CXllApp A new set of static methods, RetString(), have been added to CXllApp, to return string results to Excel.
E00056 ENH - New stack check method for CXllApp A new static method, XlGetStackSpace(), has been added to CXllApp, to return the number of bytes available in the stack.
E00057 ENH - New error conversion method for CXllApp A new static method, ErrorToString(), has been added to CXllApp, to convert an error code to a string.
E00058 ENH - New bool() casting operator for COper A new casting operator, bool(), has been added to COper, to extract and return a C++ boolean value.
E00059 ENH - New optional argument reading functions for COper A new templated optional argument reader, ReadOptional(), has been added to COper, to extract and return any simple scalar value from an optional argument. This function is preferred to the older ReadOpt().
E00060 ENH - Enhancements to COper::ReadVector(), COper::ReadVectorBounded() and COper::ReadMatrix() The array argument reading functions, ReadVector(), ReadVectorBounded() & ReadMatrix(), have been replaced by templated functions, which can handle any basic C++ type. The functions are no longer limited to double, long and CString output types.
E00061 ENH - New COper functions ReadRow() and ReadColumn() New helper functions have been added to allow a vector to be read only as a row or a column.
E00062 ENH - New STL collection support New template methods, ReadArrayIntoOrderedCollection1D() and ReadArrayIntoSet1D(), have been added to COper to allow an array to be read into any STL collection class.
E00063 ENH - New matrix classes A new set of matrix support interfaces and classes have been added, to support faster and more flexible storage and conversion of two-dimensional arrays, and integration with users' existing matrix classes and libraries.
E00064 ENH - New CXlOper constructors New constructors have been added for CXlOper, to support conversion from the C++ bool type and the STL std::string type.
E00065 ENH - New bool() casting operator for CXlOper A new casting operator, bool(), has been added to CXlOper, to extract and return a C++ boolean value.
E00066 ENH - New matrix output functions A new templated conversion function, CXlOper::FromMatrix(), and a new templated constructor have been added to CXlOper, to support output of matrices of any basic C/C++ type.
E00067 ENH - Excel function names may contain periods The Function Wizard now allows Excel function names to include periods e.g. "GET.SYSTEMTIME".
F00043 FIX - Fixed memory leak under Windows XP A memory leak (under Windows XP only) in the STL libraries' implementation of CString::AllocSysString() was fixed.
F00044 FIX - CXllCOM::Init() fails with Excel 2000/2002 On some machines running Excel 2000 or 2002, CXllCom::Init() failed with the following error: "CLSIDFromProgID("Excel.Application.8", ...) failed with error 800401f3". This bug applied only to machines on which Excel 97 had never been installed. This behavior has been fixed and the function will now succeed, as long as any of Excel 97, 2000 or 2002 has been correctly installed.
F00045 FIX - Argument descriptions can now start with a digit If an argument description (other than the first) began with a digit, then it was possible for the description to be hidden, and possibly also all subsequent arguments' descriptions. This behavior has been fixed.
E00068 ENH - New methods for cell formulae New methods CXlOper::GetFormula() and CXlOper::SetFormula() let you inspect and change formulae in spreadheet cells.
E00069 ENH - Visual Studio .NET integration XLL+ 4.2 works within Microsoft Visual Studio .NET, with fully integrated wizards and help. (Visual Studio 6 and Visual C++ 6 continue to be supported.)
E00070 ENH - New dialog classes New classes CXlDialog and CXlControl have been added, to support the use of native Excel dialogs.
E00071 ENH - New menu class A new class CXlMenu has been added, to support the addition of menus to Excel's application menu.
F00046 FIX - GetVersionInfo bug fixed The bug in CXllApp::GetVersionInfo() which caused MFC dialogs to fail to appear after its use has been fixed. (See XLL+ FAQ #5.)
F00047 FIX - Functions now disappear from Excel Formula Wizard when unregistered Prior to this version, functions in XLLs that were unregistered (via the Tools - Addins dialog) remained in the Formula Wizard, stripped of help text. This behaviour has been fixed.
E00072 ENH - Optional arguments in Function Wizard Arguments can now be marked as Optional in the XLL+ Function Wizard, and default values can be provided for missing arguments.
E00073 ENH - Automatic internationalisation of standard categories Functions that use standard categories are registered in the current Excel language.

4.2.1

Date: 18-Nov-2002
Description: Maintenance beta release
Files: xlp_4_2_1.exe xlp_demo_4_2_1.exe

ItemChangeDescription
F00050 FIX - Bug in MtCalc The MtCalc sample add-in caused Excel to crash if the application was closed with calculations still running. This behaviour has been fixed.
E00074 ENH - .NET AppWizard automatically opens C++ source file The .NET AppWizard now automatically opens the main cpp file after creating an XLL+ project.
F00051 FIX - CXllApp::GetVersionInfo() failed under MFC Calls to CXllApp::GetVersionInfo() failed under MFC under certain conditions. This behaviour has been fixed.
F00052 FIX - Various bad links in User Guide  
F00053 FIX - Erroneous function descriptions in Reference Errors in the ple::imtx<T> documentation were fixed.
F00054 FIX - CXlDialog class failed to compile with MFC Errors in the CXlDialog class prevented compilation under MFC under some conditions. This behaviour has been fixed.
E00075 ENH - Walkthroughs A new section "Walkthroughs" containing task-oriented walkthroughs has been added to the XLL+ help.
E00076 ENH - Installable matrix classes The developer can now install their own matrix classes in place of those supplied with XLL+, by creating a matrix adapter class, and overriding the macros MTX_FLAT and MTX_PTRS.
E00077 ENH - Extended attributes dialog A new dialog, listing extended function attributes,is available from the Edit menu of the XLL+ Function Wizard.
E00078 ENH - Application-level data flag A new function flag, "appscope" is available. The flag, if true, causes "XLL_FIX_STATE;" to be generated at the start of the add-in function. It can be set via the Extended Attributes dialog.
F00055 FIX - Function Wizard Context Help under .NET Function Wizard Context Help failed under .NET. This behaviour has been fixed.
E00079 ENH - Registry settings documentation A list of all registry settings used by the various XLL+ components is now included as a technical note in the reference guide.

4.2.2

Date: 01-Dec-2002
Description: Maintenance beta release
Files: xlp_4_2_2_e.exe xlp_demo_4_2_2_e.exe

ItemChangeDescription
E00080 ENH - Help Generator Tool A new Help Generator tool has been added. This tool generates a complete Help project based on the add-in functions found in source files, along with the code needed to connect it to the add-in.
F00056 FIX - CXlOper::ReadMatrix failed to link Some CXlOper methods were excluded from the run-time libraries; as a result CXlOper::ReadMatrix() caused a link error. This has been fixed.
E00081 ENH - SDK Function numbers New technical notes and a walkthrough have been added to the documentation to help with the CXlOper::Excel() and CXllApp::Excel() methods.
F00057 FIX - COper::ToMatrix failed to compile CXlOper::ToMatrix() failed to compile. This has been fixed.
E00082 ENH - MFC Resources in .NET The resources file in the MFC builds under VisualStudio .NET was not compatible with the resource editor. This has been fixed.

4.2.3

Date: 11-Jan-2003
Description: Initial commercial release
Files: xlpu_4_2_3_e.exe xlpn_4_2_3_e.exe xlps_4_2_3_e.exe xlp_demo_4_2_3_e.exe

ItemChangeDescription
E00083 ENH - New members for mtx_ptrs<T> New members, including a casting operator, have been added to the template class mtx_ptrs, to simplify access to array values.
E00084 ENH - New extended attribute for Formula Wizard A new extended attribute is now supported by functions and can be controlled using the Extended Attributes dialog. The attribute, 'nopreview', determines whether the function will be unavailable if called from the Excel Formula Wizard.
F00058 FIX - COper::ReadVectorItem bug A bug in COper::ReadVectorItem caused Excel to crash when handling the error message for a missing argument. This has been fixed.
E00085 ENH - COper::ReadGroupItem replaces COper::ReadVectorItem COper::ReadGroupItem is now used in place of COper::ReadVectorItem in functions generated by the Function Wizard.
E00086 ENH - Visual Studio .NET Help integration Visual Studio .NET Help integration has been completed. All topics are now in the style and structure of Visual Studio.
E00087 ENH - New methods for CXlMenu CXlMenu now contains new methods for menu manipulation: DeleteItem(), EnableItem(), CheckItem() and ReplaceItem(). CXlMenu can also be used to create sub-menus, by calling the new forms of Create().
E00088 ENH - Advanced menu sample A new sample, SubMenus, has been added, to demonstrate how to add sub-menus and dynamic menus.
E00089 ENH - COM event handler interface A new simplified COM event handler interface, CXllApp::SetComEventHandler() has been added.
E00090 ENH - COM event handler documentation The COM event handler interfaces have all been documented.
E00091 ENH - COM event handler samples A new sample, ComEvents, has been added, to demonstrate how to add a handlers for COM events such as WorkbookOpen and Calculate.
F00059 FIX - Grouped arguments Grouped arguments that were marked as optional were failing to remember their state in the Formula Wizard. This behaviour has been fixed.
F00060 FIX - Empty arrays CXlOper::AllocArray() asserted when an array of zero rows, columns or items was created. This behaviour has been fixed to be tolerant of empty arrays.
F00061 FIX - Crash in Export window The Function Wizard crashed when a non-existent directory was selected for an exported XML file. This behaviour has been fixed.
E00092 ENH - Walkthroughs for array results Two new walkthroughs have been added to demonstrate how to return array results from add-in functions.
E00093 ENH - Walkthroughs for grouped arguments A new walkthrough has been added to demonstrate how to create grouped arguments with the Function Wizard.

4.2.4

Date: 3-Mar-2003
Description: Maintenance commercial release
Files: xlpu_4_2_4_e.exe xlpn_4_2_4_e.exe xlps_4_2_4_e.exe xlp_demo_4_2_4_e.exe

ItemChangeDescription
E00094 ENH - New classes for calling Excel functions Two new classes, CXlFuncs and CXlMacros, have been added to simplify calling most Excel worksheet and macro functions from C++.
E00095 ENH - Sample for calling Excel functions A new sample CallExcel has been added to demonstrate how to use the CXlMacros and CXlFuncs classes to call Excel functions.
E00096 ENH - New methods for Binary Names New methods have been added to handle the DefineBinaryName and GetBinaryName call-backs. These allow you to store binary data in Excel worksheets so that it persists when they are closed and reopened.
E00097 ENH - Sample for Binary Names A new sample, BinaryData, has been added to demonstrate how to store binary data in spreadsheets using Binary Names.
F00062 FIX - Single column COper arrays COper::AllocArray() failed when an array with one column was created. This behaviour has been fixed.
E00098 ENH - How Do I... A new "How Do I..." topic has been added to the on-line help, containing references to the most commonly needed topics.
E00099 ENH - CXlOper::AllocArray CXlOper::AllocArray() has a new variant that allows you to initialise all cells immediately after allocation.
F00063 FIX - Treatment of blank cells in arrays Under versions 4.2.1 to 4.2.3, COper::ReadVector(), COper::ReadMatrix() and all related array reading methods rejected cells containing empty strings when reading numbers. These cells are now, by default, treated as empty cells.
E00100 ENH - XlpSetTemplate tool A new command line tool, XlpSetTemplate.exe, has been provided to let you change the template file used by the XLL+ Function Wizard.
E00101 ENH - Serialization classes New serialization classes, CXlSerialData and CXlInputKey, have been added to help you store Excel data types.
E00102 ENH - Cache class A new cache class, CXlOperCache, has been added to speed up the performance of frequently called add-ins, by cacheing the results in a map.
E00103 ENH - Cache sample A new sample, AvgOpt, has been added, to demonstrate the use of the CXlOperCache class.
E00104 ENH - Function Wizard cache flag A new attribute, "cacheresults", has been added to the Function model, to automatically add cacheing to an add-in function. The attribute is available as a menu item on the Function menu in the XLL+ Function Wizard.
E00105 ENH - AppWizard cache option The AppWizard now offers an option to add a cache of type CXlOperCache to a new project's application class.
E00106 ENH - AppWizard overrides option The AppWizard now offers an option to add default implementations of OnXllOpenEx() and OnXllClose().
E00107 ENH - SimpOpt sample The SimpOpt sample has been improved, and now uses the CXlOper::CallAddin method to invoke one add-in function from another. The sample documentation has been expanded.
E00108 ENH - FAQ The Frequently Asked Questions have been copied from the web-site to the on-line help.
E00109 ENH - Functions to get and set Calculation mode Two new functions, CXllApp::GetCalculationMode() and CXllApp::SetCalculationMode() have been added.
E00110 ENH - Integration sample A new advanced sample, Integration, had been added, which uses dialogs and macro functions to integrate functions in a workbook.
E00111 ENH - Functions to detect user cancel Two new functions, CXllApp::GetUserAbort() and CXllApp::CancelUserAbort() have been added, to detect the user pressing the Cancel key.
E00112 ENH - Structured Exception Handling A new class SE_Handler is used in the SEH sample code, to simplify the use of C Structured Exception Handling techniques.

4.2.5

Date: 11-Jul-2003
Description: Maintenance commercial release
Files: xlpu_4_2_5_e.exe xlpn_4_2_5_e.exe xlps_4_2_5_e.exe xlp_demo_4_2_5_e.exe

ItemChangeDescription
E00113 ENH - Visual Studio.NET 2003 support Support for VS.NET 2003 has been added. The installation programs of XLL+ for .NET and XLL+ Universal will now install the toolkit for VS.NET, VS.NET 2003, or both (for side-by-side installations).
E00114 ENH - typename keyword The typename keyword has been added to template definitions in XLL+ header files, as required by VS.NET 2003, in order to conform to the ISO C++ standard. The typename keyword is only used if the compiler version (__MSC_VER) is 1310 or higher. Code using earlier versions of the compiler will not be affected.
E00115 ENH - Object handles A new section has been added to the User Guide which describes how to represent C++ objects in spreadsheets as "handles". Two new sample applications using object handles have also been added.
E00116 ENH - CXlMacros new methods Some new methods have been added to CXlMacros to support some of the more common calls to GET.CELL, and FORMULA.REPLACE.
F00064 FIX - ple::mtx_ptrs::operator[] const The overloaded operator [] const contained a bug which prevented compilation. This has been fixed.
F00065 FIX - CXlControlListBox A listbox with no entries caused the containing dialog not to appear. This behavior has been fixed.
F00066 FIX - ReadMatrix() COper::ReadMatrix() and CXlOper::ReadMatrix() contained a bug whereby arrays with non-zero lower bounds might be written to using an out-of-bounds index. This behavior has been fixed.
F00067 FIX - CXlMenu internationalization fix In versions of Excel that do not use English menu titles, user-defined menus could fail to appear. This behavior has been fixed.
F00068 FIX - XllGetTypedApp() The ::XllGetTypedApp() method is now defined inline.

4.3.1

Date: 10-Sep-2004
Description: Maintenance commercial release
Files: xlpu_4_3_1_e.exe xlpn_4_3_1_e.exe xlps_4_3_1_e.exe xlp_demo_4_3_1_e.exe

ItemChangeDescription
F00069 FIX - CXllApp::GetVersionInfo() Errors in CXllApp::GetVersionInfo() were causing (i) instability in the STL build and (ii) abnormal string truncation in the MFC build. These have been fixed.
F00070 FIX - CXlOper & COper vector & matrix template functions Bugs in the C6 compiler were causing unpredictable compiler crashes when the templated functions of CXlOper and COper were used. All these functions have been reimplemented as macros for the Visual Studio 6 build only, and moved to a separate file "xlptplmc.h". The compiler crashes no longer occur.
F00071 FIX - CXlRef::ToString() The class CXlRef was wrongly generating string addresses for cells in column AA. The behavior has been fixed.
F00072 FIX - CXllApp::SplitSheetName() CXllApp::SplitSheetName() was wrongly truncating the book portion of a combined sheet name. The behavior has been fixed.
F00073 FIX - COper::ReadMatrix() & COper::ToMatrix() COper::ReadMatrix() & COper::ToMatrix() were crashing Excel when the usIgnoreRows or usIgnoreCols parameters were set. The behavior has been fixed.
F00074 FIX - COM interface failed in non-English versions The initialization of the COM interface failed in non-English versions of Excel. As a result, events could not be trapped and some samples, including "CalcEvt" would not run. The behavior has been fixed.
F00075 FIX - Function wizard unable to handle argument names containing 'ia' The Function wizard was unable to handle argument names containing the character sequence "ia". The behavior has been fixed.
F00076 FIX - VS6 resource editor unable to edit resources When the Visual Studio 6 resource editor was used to edit resources in a project built by the XLL+ AppWizard (using STL libraries only), an error occured when the changed resources were saved. This behavior has been fixed: the resource file header is now named resource.h.
F00077 FIX - Warning from VS.NET resource editor When the Visual Studio .NET resource editor was used to edit resources in a project built by the XLL+ AppWizard (using STL libraries only), a warning appeared when the changed resources were saved. This behavior has been fixed: the resource file header is now named resource.h.
F00078 FIX - CXlOper::SetFormula() CXlOper::SetFormula() was setting A1-style formulae relative to the active cell, rather than relative to the cell whose formula was being set. This behavior has been fixed.
F00079 FIX - CXlOper::ConvertFormula() CXlOper::ConvertFormula() was a static function. As a side-effect of this, it was calculating relative addresses wrongly. Thnis design error has been foxed and is now a const CXlOper::ConvertFormula() member function. This may be a breaking change for existing code that uses CXlOper::ConvertFormula().
E00117 ENH - Serialization classes The serialization classes (CXlOStream, CXlIStream, CXlSerialData, CXlInputKey, CXlResultSet & CXlOperCache) have been extended for ease of use, and documented.
E00118 ENH - Serialization sample A new sample, "Serialize", has been added, which demonstrates the serialization classes.
E00119 ENH - Grabbing a cell value example code New example code has been added to show how to grab a cell value from a sheet in a macro add-in.
E00120 ENH - Tool bars A new class, CXlToolbar, has been added, which allows the developer to create toolbars, populate them and manage their state.
E00121 ENH - Toolbar samples Three new samples, "Toolbar1", "Toolbar2" and "Toolbar3", have been added, which demonstrate the CXlToolbar class.
E00122 ENH - Creating a long formula New example code has been added to show how to create a long (>512 characters) formula.
E00123 ENH - Safe code for .NET runtime A new sample, "CallDotNet", has been added, which shows how to amend the classes generated by the XLL+ AppWizard, so that they are safe to use with the .NET run-time classes.
E00124 ENH - CXlOper::AllocArray() A new variant of the function has been added, that allows all cells to be initialized to a supplied value. The documentation has been corrected.
E00125 ENH - CXlOper::SetLongFormula() A new function has been added, that supports setting formulae of more than 255 characters.
E00126 ENH - New push model A new version of the Push model has been released, written in Visual Basic for Applications. The model is supplied with source code, and is not supported code. The old C++ Push model, which displays instabilities under Excel 2000, is discontinued.
E00127 ENH - Formatting cells New example code has been added to show how to format a range of cells.
E00128 ENH - International settings New example code has been added to show how to get the current international settings from Excel.
E00129 ENH - International information A new method, CXllApp::GetInternational(), has been added to retrieve the current values of various international settings, including decimal point, thousands separator and list separators.
E00130 ENH - Creating a workbook New example code has been added to show how to create and populate a new workbook.
E00131 ENH - Creating a sheet New example code has been added to show how to create and populate a new sheet in an existing workbook.
E00132 ENH - Extracting a range from an array New example code has been added to show how to extract a range of values from an array argument passed by Excel to an add-in function.
E00133 ENH - CXllApp::XlInputBox() A new method, XlInputBox(), has been added to the CXllApp class. This displays a simple input box, with caption title and default value. The user can enter a value or select a range in a spreadsheet.
E00134 ENH - COM Wrappers A new tool, ComWrapperGen, has been added. This generates all the source code for a COM wrapper library, which will allow developers to call your XLL add-in functions from stand-alone Visual Basic, C++ and C# applications.
E00135 ENH - XLL Version function The built-in version function, optionally built into new add-ins by the AppWizard, now uses the resource file to load the company name.
E00136 ENH - CXlOper::FromNumericVector A new method, CXlOper::FromNumericVector(), has been added, to create an add-in result which contains a vector of numbers, from a vector of any numeric type.
E00137 ENH - AppWizard creates toolbar code A new option has been added to the toolbar "Add a toolbar". If checked, the AppWizard adds code to create and display a toolbar when the add-in opens.
E00138 ENH - New CXlOper constructor A new constructor, CXlOper::CXlOper(const CString&), and assignment operator CXlOper::operator=(const CString&), have been added, for the convenience of passing strings instead of CXlOper arguments.
E00139 ENH - Localized strings Most strings can now be localized, so that they appear in the language of the user (if available). A string such as "#123" will be replaced by string resource 123, loaded from the add-in's resource file, in the current language.
E00140 ENH - Localized argument names A new field has been added to the Function Wizard, to allow developers to assign resource strings to argument names. The argument names will thus appear in Excel in the language of the user.
E00141 ENH - New CXlMacros methods New methods have been added to CXlMacros: GetActiveWorkbookName, GetActiveWorksheetName, WorkbookGetWorksheetCount NewDefaultWorkbook, NewSingleSheetWorkbook, WorkbookMove & WorkbookCopy. All these methods allow you to create and manipulate workbooks and worksheets.
E00142 ENH - New Macro topics New topics have been added to the User Guide, discussing the CXlMacros class, how to use cell references and how to manipulate fornlae in cells.
E00143 ENH - CXlOper::GetLongString() A new function has been added, that supports retrieving string values which contain more than 255 characters.
E00144 ENH - CXlRef::MoveBy() A new function has been added, that supports adding a row and column offset to a range reference.
E00145 ENH - CXlOper international formulae functions New functions have been added to CXlOper, to support getting and setting formulae in international format: GetFormulaIntl(), SetFormulaIntl(), SetLongFormulaIntl(), ConvertFormulaIntl() and MakeRefIntl().
E00146 ENH - CXlRef international strings New optional arguments have been added to CXlRef::ToString() and CXlRef::FromString(), to support getting and setting RC style cell addresses formulae in international format. A new static method GetRowColumnLetters() can be used to get the petters used for RC style addresses in the langauge of the Excel version being used.

4.3.2

Date: 11-Jun-2005
Description: Maintenance commercial release
Files: xlpu_4_3_2_e.exe xlpn_4_3_2_e.exe xlps_4_3_2_e.exe xlp_demo_4_3_2_e.exe

5.0.1

Date: 7-Mar-2006
Description: Major commercial release
Files: xlpu_5_0_1_e.exe xlpn_5_0_1_e.exe xlps_5_0_1_e.exe xlpt_5_0_1_e.exe xlpv_5_0_1_e.exe xlpw_5_0_1_e.exe xlpx_5_0_1_e.exe xlp_demo_5_0_1_e.exe

ItemChangeDescription
E00147 ENH - Support for Visual Studio 2005 XLL+ version 5 supports Microsoft Visual Studio 2005. The run-time libraries and samples use the new 'safe' functions of the C standard library. The help and user guide integrate fully with the new Visual Studio 2005 help formats and style, and the XLL+ tools work within the VS 2005 environment.
E00148 ENH - Asynchronous functions using RTD We've added a new Real-time Data module, along with sample code and a User Guide, to let you write asynchronous functions that calculate in a background, and only return to Excel when a calculation is complete. The module uses Excel's native RTD mechanism to provide an asynchronous calculation implementation that is efficient, stable and unintrusive.
E00149 ENH - XllHost module You can now use the wrapper libraries generated by the XLL+ COM Wrapper Generator with XLL Host to run applications on machines that do not have Excel installed. This makes it possible to deliver your Excel add-ins to production environments on business-critical servers without any change to your code.
E00150 ENH - ColorCell sample A new sample shows how to set the colors of cells from a macro function.
E00151 ENH - UseTimer sample This sample add-in shows how to run a macro function at a specific time.
E00152 ENH - AvgOptAsync sample The AvgoptAsync sample demonstrates how to write asynchronous add-in functions that do their work in a separate thread, leaving Excel available and responsive. Excel's built-in RTD mechanism is used to update the target spreadsheet when calculation is complete.
E00153 ENH - Support for Proxy Libraries A new virtual method, CXllApp::GetRegDllName, has been added which enables you to register add-in functions that are not contained in the XLL loaded by Excel. This allows the use of boot-strap XLLS, which is necessary for the safe use of the .NET (CLR) run-time libraries from an XLL add-in.
E00154 ENH - mtx_ptrs::erase method A new method has been added to the mtx_ptrs template class, which allows you to erase a subset of the columns or rows in the matrix.
E00155 ENH - CXlFormulaRefresh::RefreshSheet The CXlFormulaRefresh::RefreshSheet method has been improved, so that it is now much faster to recalculate handles. New methods have also been added: CXlFormulaRefresh::RefreshCell and CXlFormulaRefresh::RefreshRange.
F00080 FIX - Optional matrices The Function Wizard was not emitting code to handle matrix inputs that were optional. This behavior has been fixed.
F00081 FIX - Function name lengths The Function Wizard restricted all 'C' functions to 32 characters. This constraint was required for Visual C++ 5 and earlier versions. The restriction has now been relaxed to 64 characters.
F00082 FIX - Argument names containing 'ia' The Function Wizard was failing to produce code for arguments which included the letters 'ia'. This behavior has been fixed.
F00083 FIX - Padding of argument descriptions Under most Excel versions, the Excel Formula Wizard showed two extra characters on most argument descriptions: a space followed by a period. This behavior has been fixed.
F00084 FIX - Set argument dimensions command In the XLL+ Function Wizard under XLL+ for Visual Studio .NET, the accelerator keys Ctrl+0, Ctrl+1 and Ctrl+2 should have been setting the dimensions of the selected argument to scalar, vector and matrix respectively, but were being ignored. This behavior has been fixed.

5.0.2

Date: 19-Oct-2006
Description: Maintenance commercial release
Files: xlpn_md_5_0_1.zip xlpt_md_5_0_1.zip xlpv_md_5_0_1.zip

ItemChangeDescription
E00156 ENH - /MD and /MDd libraries Builds of each the XLL+ 5.0.1 for applications built with the /MD or /MDd flags set.

6.0.1

Date: 1-Jan-2008
Description: Beta release (Visual Studio 2005 only)
Files: setup_xlp6_80T.exe

ItemChangeDescription
E00157 ENH - Excel 2007 The design tools and class libraries have been updated to provide support for the new features of Excel 2007.
E00158 ENH - Unicode The class libraries now support Unicode builds, as well as ANSI.
E00158 ENH - XLL Add-ins window The XLL Add-ins window has been added to the developer toolset. This is a ToolWindow that appears within Visual Studio, and can be used for more efficient editing of XLL+ add-in functions.
E00160 ENH - Language support for error messages The run-time error mesages produced by the libraries are now in a resource file, and can be replaced by messages in languages other than English.
E00161 ENH - Extended types The XLL+ Function Wizard and class libraries now support the use of user-defined data types, as well as the standard built-in data types.
E00162 ENH - Function extensions Developers can define function extensions which can be injected into the code generated by the XLL+ Function Wizard.
E00163 ENH - Exceptions Add-in functions can now be exited early by raising an exception derived from CXlRuntimeException.
E00163 ENH - Help generator An integrated help generator can be used to generate Compiled Help (CHM) format help files for add-in functions.
E00164 ENH - COper The COper class has been merged into the CXlOper class.

6.0.2

Date: 28-Mar-2008
Description: Major commercial release
Files: setup_xlp6_80T.exe setup_xlp6_80R.exe

ItemChangeDescription
F00085 FIX - ple::mtx_transpose, ple::mtx_ptrs::get_ptrs, ple::mtx_flat::get_flat These methods caused an out-of-bounds exception when applied to an empty matrix. This behavior has been fixed
F00086 FIX - MAXCOORD sample function in Tutorial1 This sample function failed if the input array was empty. This behavior has been fixed by using the "Reject Empty Array" flag.
E00165 ENH - Help command line tool A command line utility, BUILDHELP.EXE, has been provided so that help systems can be built outside of Visual Studio, as part of an automated build process.
E00166 ENH - Add external files to help projects The AdditionalFile element can now be used to add your own pages to generated help projects.
E00167 ENH - Localized help Help projects can now be generated in languages other than English.
E00168 ENH - MAXCOORD sample function in Tutorial1 This sample function failed if the input array was empty. This behavior has been fixed by using the "Reject Empty Array" flag.
E00169 ENH - CXlMacros::Error A new method CXlMacros::Error can be used to switch Excel alerts on and off.
E00170 ENH - CXlErrorSuspend A new helper class, CXlErrorSuspend, can be used to temporarily switch off Excel alert dialogs.
E00171 ENH - French language resources Runtime errors ar now available in French as well as English.
E00172 ENH - Macro helpers topic The User Guide contains a new topic "Macro helpers", which descibes classes which make the user experience more pleasant during the execution of macros.
E00173 ENH - Add macro command A new menu command is available to create macro functions in one step.
E00174 ENH - Help resource files In the Help generator help file, the new attribute Help/@CopyFileExtensions and the new element ResourceFile allow image and style files to be automatically added to a help project.
E00175 ENH - New Profiling sample A new sample project, Profiling, has been added. This demonstrates how to implement a Function Extension.
E00176 ENH - Help projects build The building of the help files has been made part of the standard build. The Help commands are therefore no longer present.

6.0.3

Date: 12-Jun-2008
Description: Maintenance release
Files: setup_xlp6_80T.exe setup_xlp6_80R.exe setup_xlp6_80E.exe

ItemChangeDescription
F00087 FIX - CXllApp::XlOpen If no object descended from CXllApp was instantiated, this method crashed Excel. This behavior has been fixed, so that an error is reported in a message box.
F00088 FIX - Instability on machines where Visual Studio is also installed The AppWizard was unstable under VS2003 on machines which had VS2008 also installed. This behavior has been fixed.
F00089 FIX - UpgradeWizard report This report is now displayed within Visual Studio, instead of an external browser.
F00090 FIX - XLL Add-ins Window Toolbar The commands on the XLL Add-ins Window's toolbar have been rearranged, so that the window fits into a smaller width.
F00091 FIX - Memory leaks in runtime library A number of memory leaks were found in the runtime library, affecting arrays and references returned by call-backs to the Excel API. These have been fixed.
F00092 FIX - RuntimeTypeInfo switched on The compiler's RuntimeTypeInfo setting is now switched on for all new projects. The Upgrade Wizard also switches it on.
F00093 FIX - Uninstaller for VS.NET 2003 fixed The uninstaller for the Visual Studio .NET 2003 package damaged the menus of Visual Studio. This problem has been fixed.
E00177 ENH - /MD run-time libraries added A new set of run-time libraries has been added. These support add-ins which use the C run-time in a separate DLL, using compiler settings /MD or /MDd.
E00178 ENH - Pre-build help compiler step omitted by default In version 6.0.2 a pre-build help compiler step was added to XLL+ projects, which checked that the arguments to the help compiler were complete. In particular, the step checks each C++ source file for Excel add-in functions; any C++ file that contains such functions is added to the list of input files for the help compioler. This step is now omitted by default; it can be reenabled by changing the SkipHelpBuilderSetup option in the Tools/XLL+/General options page.
E00179 ENH - Visual Studio 2008 A new version has been released which supports Visual Studio 2008.
E00180 ENH - Tools on XLL Add-ins toolbar rearranged The tools on the XLL Add-ins toolbar have been rearranged, so that the toolbar is less wide. This allows the XLL Add-ins window to be less wide, and allows full access to the toolbar from a narrower window.