Size() is returning the max size of the ulong and not the String(8192) control - ?!?

Size() is returning the max size of the ulong and not the String(8192) control - ?!?

Any ideas how this is even possible? Its not a coding error.

TIA

Although it might not be a coding error, can you show how it’s declared and how you’re getting the string?

If you’re dealing with a &STRING reference, perhaps you are unintentionally setting the size component of the reference variable.

BTW, If you are receiving the string from a non-Clarion source (or just by ADDRESS), you need to explicitly tell it what the size is.

e.g.

MyStringRef &= ADDRESS(SomeStringBuffer) & ':' & BufferSize

Its stopped doing it now, and is showing the correct value. :face_with_bags_under_eyes:

Its a global string declared in the dct globals, no reference is ticked, its just

glo:stringVar string(8192)
Glo:buffersize = size(glo:stringVar) - 2