Tech Tip: Length of C_STRING in Unicode mode
PRODUCT: 4D Developer | VERSION: 11 | PLATFORM: Mac & Win
Published On: July 30, 2008
In 4D v11 SQL, when running in Unicode mode, C_STRING is equivalent to C_TEXT. This means that the maximum string length parameter in C_STRING will be ignored.
Here is an example highlighting the difference from 4D 2004:
4D 2004:
In 4D 2004, the size of a variable created with C_STRING will never be greater then the string length parameter.
4D v11 SQL:
In 4D v 11 SQL, the size of a variable created with C_STRING will adjust to the contents of the variable.
Note - 4D 2004 databases that have been converted to 4D v11 SQL and are running in compatibility mode will function the same as in 4D 2004.
Here is an example highlighting the difference from 4D 2004:
4D 2004:
C_STRING(1;$var) $varSize:=Length($var) `$varSize = 0 $var:="1234567890" `$var = 1 $varSize:=Length($var) `$varSize = 1 |
In 4D 2004, the size of a variable created with C_STRING will never be greater then the string length parameter.
4D v11 SQL:
C_STRING(1;$var) $varSize:=Length($var) `$varSize = 0 $var:="1234567890" `$var = 1 $varSize:=Length($var) `$varSize = 10 |
In 4D v 11 SQL, the size of a variable created with C_STRING will adjust to the contents of the variable.
Note - 4D 2004 databases that have been converted to 4D v11 SQL and are running in compatibility mode will function the same as in 4D 2004.