Return values
To determine which Synergy data types can be used as return values, see the Where data types can be used table. For strong prototyping, it is best to specify the return type of all functions. Methods require a return value; VOID is a special return type that you can use to indicate that a method does not return a value.
In traditional Synergy, a return value cannot be a pseudo or real array; for methods, return values may be dynamic arrays of objects. ^VAL indicates that the return type is a native int passed in a register for traditional and System.IntPtr for .NET. You can have a function whose return type is ^VAL that identifies a calling convention using a value up to the size of a 32-bit or 64-bit int in traditional Synergy or a System.Intptr value in Synergy.NET. (See ^VAL for more information.)
While ^VAL is the fastest way to return an integer value in traditional Synergy, int is the fastest way on .NET.
On 32-bit platforms, return types on functions cannot be bigger than i4.