| 
 | 
In _test3 BEFORE _test4 a$ = TEST3 pointer: 56237586 length: 5 In _test4 BEFORE assigning the string a$ = pointer: 0 length: 0 In _test4 AFTER assigning the string a$ = TEST4 STRING pointer: 56237594 length: 12 Back in _test3 AFTER _test4 a$ = TEST3 pointer: 56237586 length: 5 _test3 string at _test4 string length: TEST3TEST >
| 
 | 
| 
 | 
| 
 | 
 How the string handling works internally should be completely transparent to a user's program.  If you have encountered 'vanishing' or 'corrupted' strings you have found a MASSIVE BUG in BBC BASIC for Windows.  If that is indeed the case please engage with me VERY URGENTLY so that this may be investigated and if necessary fixed.
  How the string handling works internally should be completely transparent to a user's program.  If you have encountered 'vanishing' or 'corrupted' strings you have found a MASSIVE BUG in BBC BASIC for Windows.  If that is indeed the case please engage with me VERY URGENTLY so that this may be investigated and if necessary fixed.| 
 | 
DIM S% LOCAL -1 PROC_printChrsOnStack(S%, !^a$)
| 
 | 
| 
 | 
PRINT a$ a$ += CHR$(0) PRINT $$!^a$
PRINT a$ S% = !^a$ a$ += CHR$(0) PRINT $$S%
| 
 | 
      pFrmt% = !^Node{}
      dataSize% = !(pFrmt%)       dataSize% = DIM(Node{}) | 
 | 
| 
 | 
      DEF FNgetitem(RETURN n{}, n%)
      IF n% = 0 THEN = ""
      !(^n{}+4) = n%
      = n.item$  .  I see that I've missed quite a few fundamental things, and while I apologise for not having first studied the linked list example on the wiki, I've learned more by doing it the hard way.
.  I see that I've missed quite a few fundamental things, and while I apologise for not having first studied the linked list example on the wiki, I've learned more by doing it the hard way.| 
 |