Welcome to the SRP Forum! Please refer to the SRP Forum FAQ post if you have any questions regarding how the forum works.

Super Strings

Thought I'd give this a crack in setting up the search criteria for a btree.extract.
The compiler doesn't like something about one of the lines and I can't distinguish the difference.


Looking at the "user_criteria" line, the compiler is complaining about Illegal Statement Termination.

I installed the latest, bringing the editor up to .12 instead of .11 and it is still complaining, though it is colouring the code differently.
I don't know if that's related or just some other quirk.

If I put an extra line between the search_criteria and the If statement and recompile, the colouring rectifies itself and stays corrected even if I remove the newly added blank line. So, I figure the colouring is just a coincidental quirk I can live with but may still be worth mentioning.

Any thoughts as to why line 75 is fine but 78 is unhappy?
Not a showstopper for me because I'll just do it the way I've always done it but I am curious if I've misunderstood something.

Comments

  • I think this is an edge case where a system delimiter being adjacent to an interpolated variable is not being parsed correctly. Remember, you can always use the #pragma output option to see how the precompiled code looks. In your case, I see this:
    user_criteria = \FE555345525F4944FD\:userID`

    Note the accent character at the end.

    I also discovered that super strings do not work well when the interpolated variable is at the very end of the super string (it just gets treated as a normal string).

    We'll look into this. There are so many permutations that it will not surprise me if we come across several more edge cases.
  • I created a new updated, 3.4.7. It fixes a few issues, including this one.
  • This seems to work better now. Still some colouring tweaks required as it only seems to colour correctly after a compile.
    Opening a routine that has a super string throws out the colouring for all lines after the super string. A compile recolours correctly.
    Actually, what I think happens is the colouring just stops at the super string when you open the routine, as if it recognises it as the end of the routine.
Sign In or Register to comment.