If the Function is Declared like this:
STDCALL function 'somefunction' ( ptr varchar (nn)) : integer
Then nn <= 256Mb.
If the Function is Declared like this:
STDCALL function 'somefunction' ( ptr varchar ) : integer
Then because SIZE is omitted, the buffer for VARCHAR will have default SIZE = 256MB.
* AVOID THIS UNLESS THAT IS THE ACTUAL SIZE OF THE DATA TO BE PASSED!
If the Function is Declared like this:
STDCALL function 'somefunction' ( integer ) : varchar(nn)
Then because SIZE is Specified, nn bytes <= 32K will be returned.
If the Function is Declared like this:
STDCALL function 'somefunction' ( integer ) : varchar
Then because SIZE is omitted, the buffer for VARCHAR will have default SIZE = 32K.
When SIZE is Specified, the data passed as parameter or as return value, if Greater than the SIZE, will be truncated to SIZE.