When generating code for models using external libraries, you may find that the code generator calls the external library function with too many arguments, like so:

FunctionFromExternalLibrary(me, 1, 2);

when you expect this instead:

FunctionFromExternalLibrary(1, 2);

In Embedded Engineer, we generate the me-pointer (this in C++) and consequently pass this pointer when calling methods as described in Classes.

When reverse engineering code in Enterprise Architect, EA does not make a distinction between methods and functions, and the code generator assumes that these operations are methods, not functions.

To resolve this issue, mark the imported Classes/Interfaces as static by applying the static stereotype. More information: External Libraries, Static Classes.

 

  • No labels