I'd like to announce my new product, PBInvoke.

PBInvoke is a PowerBuilder library for calling external DLL functions with
arbitrary parameter and return types - structures, unions, pointers, etc.
including function pointers to PowerBuilder methods callable from DLL code
as callbacks.

PBInvoke goals:
- Allow PowerBuilder developers to work in PowerScript with complex data
structures without writing wrapper DLLs in other languages such as C/C++.
- Make declarations of external functions ANSI/Unicode-independent which
avoids migration issues when using the same code across ANSI and Unicode
versions of PowerBuilder.
- Support any C/C++ data type (except classes). This includes complex nested
data types involving structs, unions, pointers, simple types and their
- Support not only STDCALL calling convention, but also CDECL which is
default in C/C++ programs.
- Allow PB code to be called from external functions as callbacks with full
access to passed parameters.
- Support wide range of PowerBuilder versions from PB 6 to PB 11.5 and any
future version.
Please visit the product site for more information.