Beta 0.2.3
Superx++ beta 0.2.3 offers the benefit of being able to execute external libraries via shortx. Standard Superx++ offered this functionality in beta 0.2.2. 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({external lib alias}, {.dll path}); |
{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({.dll function return type}) {external lib alias}.{.dll function name}({.dll function parm type} {val/ref}{parm value}); |
{.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 * means pass by reference otherwise the convention is pass by value |
{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({external lib alias}); |
{external lib alias} | The alias for the external library that is in the name attribute of the lib_open statement. |