Undocumented: CStrRef &= AddressExpression &':'& NumberOfBytes

Please document the reference assignment notation
where you can specify the length of the buffer.
It would be nice in general if documentation included history of changes, IOW, indicated when a feature was added, and when it was altered.

 lpBuffer LONG,AUTO 
 lpBufferLen LONG,AUTO 
 StrRef &CSTRING 
     CODE 
     SomeApi( lpBuffer, lpBufferLen) !<-- sets both args 
     StrRef &= (lpBuffer) &':'& lpBufferLen 
     !StrRef now points into the buffer, and has the proper length 

Reported in PTSS[40016]

3 Likes

I’m not sure when this was added, but it does at least compile in Clarion 8.

PTSS system shows it was ‘forwarded to documentation’ by Robert Ricketts on 2013-07-15
So any day now…

I used it in C6 for many many years

Kind of along the same vein:

  PROGRAM

S1 STRING(20)

Window WINDOW('USE() Part of String'),AT(,,183,30),GRAY,|
             FONT('Microsoft Sans Serif',8),CENTER
        ENTRY(@s20),AT(3,9),USE(?MyEntry)
        BUTTON('Show Data'),AT(99,8,71),USE(?ShowDataButton)
    END

 MAP
 END

  CODE

 OPEN(Window)
 S1 = ALL('*',20)
 ?MyEntry{PROP:USE} = S1[3:13]
 CHANGE(?MyEntry,'New Value')
 ACCEPT
   CASE ACCEPTED()
   OF ?ShowDataButton
     MESSAGE('"' & S1 & '"')
   END
 END