Beta 0.2.2
Superx++ beta 0.2.2 offers the benefit of being able to execute external libraries. This has first
been implemented on the Microsoft Windows NT/2000/XP operating systems. The external libraries
that are supported are .dll executables.
Benefits of .dll Support
The benefits
of using .dlls to extend the capabilities of Superx++ are that you can:
1) | Use Visual Basic, Visual C++ or other language .dlls written for Windows to extend Superx++ capabilities |
2) | Use Win32 API functions that are wrapped in Win32 .dll files |
3) | Reuse of your own code written in .dll files within Superx++ contexts |
4) | Expose .dll methods as Superx++ services published on the web |
When Superx++ is ported to other platforms, different forms of external library support will be implemented using the same Superx++ statements as those listed below.
External Library Access-Related Superx++ Statements
The following are the Superx++ statements that provide external library support:
- <lib_open>
- <lib_func>
- <lib_close>
<lib_open>
This statement opens the external library for access to its methods. This must happen before
invoking the other external library access Superx++ statements.
<lib_open name="{external lib alias}">{.dll path}</lib_open> |
{external lib alias} | The alias for the external library that will be used to refer to the external library within the Superx++ program. |
{.dll path} | The path to the executable file for the external library on a mapped drive on the computer. |
<lib_func>
This statement invokes a method on the external library.
<lib_func name="{.dll function name}" type="{.dll function return type}" lib="{external lib alias}"> <parm type="{.dll function parm type}" pass="{val/ref}">{parm value}</parm> . . . </lib_func> |
{.dll function name} | The name of the method/function on the external library that is being called. |
{.dll function return type} | The datatype of the value returned by the method/function. |
{external lib alias} | The alias for the external library that is in the name attribute of the <lib_open> statement. |
{.dll function parm type} | The datatype of the parameter that is to be passed into the method/function. |
{val/ref} | The passing convention of the parameter val means pass by value ref means pass by reference |
{parm value} | The value of the parameter that is to be passed into the method/function. |
<lib_close>
This statement closes the external library. This must only happen after
invoking the <lib_open> statement.
<lib_close lib="{external lib alias}" /> |
{external lib alias} | The alias for the external library that is in the name attribute of the <lib_open> statement. |