RapidXLL_NETTM automatically converts C/C++ to:
Excel
Add-Ins,
.NET
Libraries,
and
HTML
Documentation.
Copyright
(c) BreezeWay Software Corporation.
All
Rights Reserved.
Please
visit our web site for the latest information:
http://www.RapidXLL.Net/
MANUAL
***
SECTIONS IN THIS FILE ***
Release History
Sample Excel Add-In (Automated XLL
Wrapper)
Sample .NET Application (Automated Managed
C++ Wrapper)
Adding RapidXLL_NET to your project
HTML Documentation
.NET Applications
Debugging your library and Excel Add-In
* RAPIDXLL FUNCTION CUSTOMIZATIONS
* RAPIDXLL GLOBAL CUSTOMIZATIONS
Syntax
DLL Exports
Deployment
******************************************************************
Release
History
1.25 Nov-17-2006 Supports
Visual Studio Express, 2005, 2003
1.2 Sep-9-2006 Integrates
C++ with MicroSoft .NET Platform
1.1 Aug-18-2006 Generates
HTML Documentation
1.0 Jul-30-2006 Integrates
C++ with Excel Workbook Functions
******************************************************************
Sample
Excel Add-In (Automated XLL Wrapper):
A
running sample of these features are found in the SimpleDLL solution
which
was installed. Please open:
start -> All Programs -> RapidXLL
-> Samples -> SimpleDLL
The
sample code is easy to read and walks you through each feature.
Simply
read the header files. Each function
uses an additional feature.
******************************************************************
Sample
.NET Application (Automated Managed C++ Wrapper):
A
running sample of RapidXLL_NET features are found in the
example
SimpleCSharp solution. Please open the VisualStudio Project
through
the applications menu :
start -> All Programs ->
RapidXLL -> Samples -> SimpleCSharp
This
sample brings up a simple C# form application which interfaces
with
the RapidXLL_NET library and the automatically generated .NET
wrapper. The auto-generated wrapper, SimpleDLL_NET
uses Managed C++
to
interface with the (unmanaged/standard) C++ SimpleDLL library.
The
.NET library allows for the same code base to be used I Excel
spreadsheets
as well as in .NET Application Programs.
It does so by
mimicking
the calling semantics used in the Excel worksheet functions.
Since
intermediate files are only created when the project header files
are
modified, moving functions to different categories / callprefixes
can
lead to multiple wrappings for the same function. To resolve this,
simple
remove the intermediate .rmc files located in the intermediates
directory:
C:\Program
Files\BreezeWay\RapidXLL\TMP\$(LIBRARY).RMC\
******************************************************************
ADDING
RAPIDXLL TO YOUR PROJECT:
RapidXLL
will automatically convert your DLL libraries into Excel XLL
Add-ins.
In order to do this, RapidXLL must be called from your
VisualStudio
project.
In Microsoft Visual Studio Project
View -> Solution Explorer
In Solution Explorer
Right Click on YourDLLProject
Select Properties
In Properties Window
Select Build Events
Select Post-Build Event
In the Post-Build Event Tab set the
following:
CommandLine RapidXLL.exe "$(ProjectPath)"
"$(ConfigurationName)"
******************************************************************
HTML
Documentation:
Documentation
is automatically built for each project.
To
customize the page header / footer simply edit the
$(LIBRARY)_Top.htm
and $(LIBRARY)_Bottom.htm files as these are built
only
once.
RapidXLL
only builds intermediate files when a header file is edited.
However,
since the developer can move functions across/between
categories,
and functions in a particular category can be found in
multiple
header files, it is advisable to clean up the intermediates
directory
before any major release.
******************************************************************
.NET
Applications:
RapidXLL
will automatically convert your DLL libraries into .NET
Libraries. In order to do this, RapidXLL must be called
from your
VisualStudio
project. Please refer to “ADDING RAPIDXLL TO YOUR PROJECT”
above.
To
use the generated .NET library, add references to
RapidXLL_NET.dll and
$(YourDLLProject)_NET.dll
which
are written to the RapidXLL_NET_DLLs directory under project
YourDLLProject
directory.
.NET
also has a “security feature” which prevents it from looking for
DLLs
in your path. Therefore, you also need
to copy the public
RapidXLL.dll
and $(YourDLLProject).dll to the $(OutDir) of your .NET
project. It is best to add these copy commands as
Pre-Build steps in
the
.NET project. This will allow you to
debug your native C/C++
library
from within your .NET project.
In Microsoft Visual Studio Project
View -> Solution Explorer
In Solution Explorer
Right Click on YourNETProject
Select Properties
In Properties Window
Select Build Events
Select Post-Build Event
In the Post-build Event Command Line Tab
add the following:
echo "Copy YourDLLProject DLLs to build
directory."
echo copy ..\..\YourDLLProject\RapidXLL_NET_DLLs\RapidXLL.dll
.
copy
..\..\YourDLLProject\RapidXLL_NET_DLLs\RapidXLL.dll .
echo copy ..\..\YourDLLProject\RapidXLL_NET_DLLs\SimpleDLL.dll
.
copy
..\..\YourDLLProject\RapidXLL_NET_DLLs\SimpleDLL.dll .
******************************************************************
DEBUGGING
YOUR LIBARAY AND EXCEL ADD-IN:
In Microsoft Visual Studio Project
View -> Solution Explorer
In Solution Explorer
Right Click on YourDLLProject
Select Properties
In Properties Window
Select Debugging
In the Debugging Tab set the following:
Command C:\YourPathToExcel\EXCEL.EXE
Command Arguments /e $(TargetName).xll PathToYour_TST.xls
Working Directory $(TargetDir)
Attach No
Debugger Type Auto
SQL Debugging No
Connection Local
******************************************************************
RAPIDXLL
FUNCTION CUSTOMIZATIONS:
FEATURE MEANING
------------------------ ---------------------------------------
RXLL_EXPORT This is all that is needed!
Export this
function to Excel.
RXLL Start RapidXLL customization(s)
Implies export to Excel.
Customizations
are case in-sensitive.
R((apid)|(XLL)|(apidXLL)) also work.
Help = function help Information displayed on Wizard.
Help var = info for variable Variable info displayed on Wizard.
(Also read
from function prototype)
Default: var = value Assigns a default value
(Also read
from function prototype)
PadSize = Rows x Cols Pad result range to a specified
size.
Inhibits
Excel's #N/A or duplicates.
Supplies
run-time user customization.
PadWith
(Zeros|Blanks) Specify padding
method
Hide var1[,var2...] Hide these variables from Excel.
(These
variables should be defaulted)
Category = NS Function's Wizard Category
CallPrefix = Prefix Function's Prefix
For
example: Prefix.F(x)
Volatile Calculated whenever anything changes.
Hidden Hidden from Function Wizard.
AddTrigger Excel computes functions as their
parameters change. This adds a field
to allow user
to specify the order in
which some
functions are evaluated.
******************************************************************
RAPIDXLL
GLOBAL CUSTOMIZATIONS:
FEATURE MEANING
------------------------ ---------------------------------------
These are File based features control all
functions in the same file
RXLL_FileCategory = Default function
category
RXLL_FilePrefix = Default function prefix
These are features initialize / finalize
parts of your library
RXLL_InitFunc = XLL Init Function (called after openning)
RXLL_FinishFunc = XLL Finish Function (called before closing)
These are features notify the user upon
openning/closing your Add-In
RXLL_OpenMsgBox = Openning Msg Box
RXLL_CloseMsgBox = Closing Msg Box
******************************************************************
Syntax:
Customization blocks begin with a C or C++
Style comment followed by
R((XLL)|(APID)|(APIDXLL))
For example: RapidXLL, RAPID, RXLL,
rApIdXlL are equivalent
C Style Blocks
/* RapidXLL begins C Style customization block.
Multiple '*' or '+' allowed after the first '*'
+ COMMAND or
* COMMAND indicates continuation of C style customization
*/ finalizes C Style customization block.
C++ Style Blocks
//+ RXLL begins C++ Style customization.
The '//' must be followed by a
'*' or '+'.
Multiple '*' or '+' are
allowed.
The remainder of the line is
considered function Help.
//+ COMMAND or
//* COMMAND indicate continuation of C++ style customization
This type of customization
block finalized automatically
when a function prototype
begins.
******************************************************************
DLL
exports:
non-Class functions can be exported
though RAPID_EXPORT,
__declspec(dllexport), or within a DEF
file.
example: RAPID_EXPORT string MyFunction();
Note:
Do not use RAPID_EXPORT for initialization / finalization
functions. For these, a DEF file is recommended.
classes can be exported with the use
of RAPID_EXPORT or
__declspec(dllexport).
example: class RAPID_EXPORT MyClass { MyClass(); };
******************************************************************
DEPLOYMENT:
BreezeWay
Software publishes a redistributable installer msi.
Please
download it from http://www.RapidXLL.Net/
The
redistributable portion of the Software consists of these files:
RapidXLL\Public\RapidXLL.dll
RapidXLL\Public\RapidXLL_NET.dll
RapidXLL\Public\RapidXLL_License.txt
The
user should have the MicroSoft .NET redistributable in order to
use
.NET applications. Two additional files
MicroSoft library dlls,
freely
redistributable and usually located in C:\windows\system32\,
may
be required. They are placed in the
same directory in case the
user
is missing these standard libraries:
RapidXLL\Public\MSVCP71.DLL
RapidXLL\Public\MSVCR71.DLL
NOTE: .NET “security features” prevent traversal
of the PATH
environment
variable to find DLL files. When
releasing your .NET
package
be sure to include the redistributable files in the same
directory
as your .NET application.
******************************************************************
RapidXLL,
RapidXLL_NET, RapidNET, BreezeWay Software Service are
trademarks
of BreezeWay Software Corporation. All
rights reserved.
VisualStudio
and Excel are trade marks of MicroSoft Corporation.
******************************************************************