New Version of XLLoop (0.3.2) Available

A new version of XLLoop is now available at the XLLoop SourceForge Page.

This release adds the ability to configure multiple function servers (providers) in one addin. The benefit is that you can deploy a single XLLoop addin to your users and (if necessary) logically separate your functions into separate server groups. This improves function isolation and scalability.

An example of the INI configuration for multiple server providers (from the XLLoop SourceForge page):

providers=Java,Python,Ruby,PHP
include.volatile=false

[Java]
server=localhost

[Python]
server=localhost:5460
function.name=PY

[Ruby]
server=localhost:5470
function.name=RB

[Erlang]
server=localhost:5480
function.name=ERL

[PHP]
protocol=http
url=http://xlloop.sourceforge.net/servers/php/TestServer.php
send.caller.info=true
function.name=LP

Also note that the source code for XLLoop has now moved to GitHub. Head over to the XLoop GitHub Page to view/download/fork.

XLLoop Without the INI File

The following post shows you how you can customize the XLLoop XLL addin without having to deploy the INI file along-side the XLL. It involves embedded the INI file inside the XLL addin.

The steps are:

1. Download WinRun4J from winrun4j.sourceforge.net.

2. Unpack the zip file and grab RCEDIT.exe

3. If you run RCEDIT without any arguments you will see the following usage information:

WinRun4J Resource Editor v1.0 (winrun4j.sf.net)

Edits resources in executables (EXE) and dynamic link-libraries (DLL).

RCEDIT <option>  [resource]

  filename      Specifies the filename of the EXE/DLL.
  resource      Specifies the name of the resource to add to the EXE/DLL.
  /I            Set the icon as the default icon for the executable.
  /A            Adds an icon to the EXE/DLL.
  /N            Sets the INI file.
  /J            Adds a JAR file.
  /E            Extracts a JAR file from the EXE/DLL.
  /S            Sets the splash image.
  /H            Adds an HTML file the EXE/DLL.
  /C            Clears all resources from the EXE/DLL.
  /L            Lists the resources in the EXE/DLL.
  /P            Outputs the contents of the INI file in the EXE.
  /R            Loads a script file listing resource settings.
  /W            Same as /R but clears all resources first.
  /D            Further help on /R command.

The option you need is /N. This allows you to embed your INI file inside the XLL.

4. Run the following command:

RCEDIT.exe /N xlloop.xll xlloop.ini

Where “xlloop.xll” is the name of the XLLoop XLL file and “xlloop.ini” is the name of the INI file.

XLLoop 0.3.1 Released

A new version of XLLoop is now available at the sourceforge site: xlloop.sf.net.

The main changes are:

  • Added round-robin connection mode for multiple servers in binary mode
  • Added retry ability to binary mode
  • Added annotation support for function information to reflection-based java functions
  • Java server framework now requires Java 1.5 (for annotations)
  • Generic function category can be customized
  • Added ability to load INI keys from an external file
  • Added ability to load INI keys from the registry

XLLoop 0.3.0 Released

A new version of XLLoop is now available at the sourceforge site: xlloop.sf.net.

The main changes are:

  • Added JSON over HTTP(S) protocol support
  • Added native PHP server
  • Added support for multiple servers in binary protocol mode
  • Functions can now support up to 30 arguments (and variable length)
  • Added ability to send caller information (sending sheet and cell)
  • Improvements in reliability of binary protocol
  • Addin name now defaults to the filename (minus .xll)
  • Added an Initialize call when addin first connects. This can send user information
    (for initializing a user session)

XLLoop 0.2.0 Released

A new release of XLLoop is now available (0.2.0). The new features and changes are:

  • Added popup to client for long running operations (with option to cancel request)
  • Added native Ruby server
  • Added native Python server
  • Added native R server
  • Fixed native Erlang server
  • Buffered streams on java server for improved performance
  • Improvements to reliability on binary protocol
  • Support up to 512 registered functions
  • Reduced xll size by using wcrt

Download at the XLLoop Sourceforge Site.