Defining source for external functions
You can use external functions written in any language that
supports the standard calling sequence for 32-bit platforms. If you are
calling functions on Windows in libraries that you have written
yourself, remember that you need to export the functions. Depending on
your compiler, you can do this in the function prototype or in a linker
definition (.DEF) file. For more information about using external
functions, see the section called “Using
external functions” in Application Techniques.
Use _stdcall convention
C and C++ compilers typically support several calling conventions,
including _cdecl (the default calling convention for C programs),
_stdcall (the standard convention for Windows API calls), _fastcall, and
thiscall. PowerBuilder, like many other Windows development tools,
requires external functions to be exported using the WINAPI (_stdcall)
format. Attempting to use a different calling convention can cause an
application crash.
When you create your own C or C++ DLLs containing functions to be
used in PowerBuilder, make sure that they use the standard convention
for Windows API calls.
For example, if you are using a DEF file to export function
definitions, you can declare the function like this:
|
1 2 3 4 |
LONG WINAPI myFunc() { ... }; |