Invalid string (misused <...> or {...}, or literal is too long) c11 13788

did you try that and did it solve your problem?

sounds like you know where to fix it then!

hth

Hi, I wrote that code more than 15 years ago and honestly I do not remember what it was supposed to be doing.
But, the number is an hex number but not interpreted by Clarion but by the PDF viewer.
You can double up the < to << and that should work.

see Mike’s earlier post - not a hex number:

yes I agree

Hmmm. Not sure how this should go, but w/ 13788, I now get the error on my web equates:

eTbl EQUATE(‘<< TABLE>’) !!! space added in order to display here

What is the actual code?
I ask as there are no quotes in that equate

Apologies. Quotes added now. No coffee yet.

That’s surprising to me (I haven’t installed 13788 at this time)
What error are you receiving for that code ?

Same error as this message thread.

I’m not able to duplicate here Douglas. Perhaps post your actual code;

I have;
qTbl EQUATE('<<TABLE>')
s string(20)
code
s = qTbl

and it compiles fine.

Errors are from an included equate file itself. It has a set of web targeted equates, all of which follow the pattern of the equate posted - 17 equates = 17 errors. Never a problem for the last xx# versions.

As was done in the original post you need to paste a screen capture showing source and error panel so we can stop guessing and see exact code and error message with code that has red underlines e.g.

1 Like

Equate include file has EXACT line as posted. (17 lines to be accurate)
Error message(s) EXACTLY like you show for line 1558.
Nothing more to consider.

I believe that the concern here is that:
Your example appears to be different from our current understanding of the problem
Which means you might’ve found another aspect of it that needs to be fixed.

It would be great if you could share a small example program that fails to compile.

Sorry. I do not have the time to create an example.

  1. Make a file with that single equate (take out space added for display here)
  2. Include the file in an app
  3. Compile with 13788 (now removed from my machine)

That’s it. I can’t do more now.

Hi Doug

are you sure you had two < and not just one?

I was thinking this was a minor issue and wondering why all the fuss as you could simply go in and double up the < in your strings. You could either do it manually letting the compiler find them, or write a few lines of code to fix them (either directly if in a clw/inc file or via export/import to a txa for an app - although that can sometimes cause other problems).

but if, as Doug is reporting, an equate that DOES have << not just < doesn’t compile then that is a more serious issue that you cannot readily solve.

has anyone been able to confirm this? I haven’t upgraded yet so cannot readily check myself.

cheers

Geoff R

In the old days, you had to double-up everything. Then, a couple of decades ago, they (with a bit of fan fair) made the compiler smart enough to distinguish when the < didn’t have to be interpreted as special, and now they made it dumb again. This could be a huge issue to a lot of people with large apps, to the point that an upgrade might not be worth their time.

IMO this behavior is a significant regression/bug and I hope they can fix it.

Absolutely, 17 times over.

alas, not I. I tried recreating from Doug’s description, but it’s working ok here.

Early start this AM. Will reinstall v13788 and use same include file in a test. I am wondering what else (ie project settings?) could be involved. The errors came in a straight recompile of a v13768 multi-dll solution. Apologize, but I don’t have a lot of time this week to piss around with details.

when Installing new builds (as test builds) I recommend the following process;

a) copy your existing Clarion folder to a new folder. For example c:\clarion111 to c:\clarion111a
b) Install the new build into the new folder (\clarion111a)

this makes it trivial to oscillate between the versions, keeping the current “live” version, while also having a test version to try things in.

This can be made even more simple using the MACS system, but even a simple layout as above will work fine.