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

That solves your x/y problem, but doesn’t fix the actual problem.

I think you already had a bug in your code, but it didn’t surface until the new Clarion compiler bug told you about it.

e6, I assume, is supposed to represent a hexadecimal number. It needs to be represented as e6H.

In addition, if you were to add an “H” to all of the remaining hex, you should be able to compile it OK without the OMIT.

The reason those 3 lines don’t compile is that the first character after the < is numeric. Since “8A” is not a valid decimal number, you get the compile error. So tell it that you mean hex with “8Ah”, and it should be OK.

I think “8A” doesn’t mean a hex code of a character, it means 2 characters “8A” in a PDF token “)<8A>(”: see next assignment LenReplacedBy[19]= 6: 6 is a number of characters in “)<8A>(”.

Thanks Mike, plus extra characters so I can post this message.

I replaced them with the decimal values:

   CharToReplace[19]= CHR(208);ReplacedBy[19]= ')<138>(';LenReplacedBy[19]= 6 !yb bug workaround
   CharToReplace[20]= CHR(222);ReplacedBy[20]= ')<142>(';LenReplacedBy[20]= 6 !yb bug workaround
   CharToReplace[21]= CHR(254);ReplacedBy[21]= ')<158>(';LenReplacedBy[21]= 6 !yb bug workaround

Oh, I just read Mike Duglas’ post; I guess my workaround is wrong then.

   CharToReplace[17]= CHR(184);ReplacedBy[17]= ')<<F8>(';LenReplacedBy[17]= 6
   CharToReplace[18]= CHR(191);ReplacedBy[18]= ')<<E6>(';LenReplacedBy[18]= 6
   CharToReplace[19]= CHR(208);ReplacedBy[19]= ')<<8A>(';LenReplacedBy[19]= 6
   CharToReplace[20]= CHR(222);ReplacedBy[20]= ')<<8E>(';LenReplacedBy[20]= 6
   CharToReplace[21]= CHR(254);ReplacedBy[21]= ')<<9E>(';LenReplacedBy[21]= 6

yes I think simply double up the < to be <<

2 Likes

This is not my code, this is the abprpdf.clw code that comes with SV PDFGenerator. After the last update 13788, this problem occurred. The error is in the PDFGeneratorClass.EscapeValues procedure. If you do not use CHARSET: BALTIC then you can eject these three lines of code. I’ve had a problem with CHARSET: EASTEUROPE for a long time, PDFGenerator can’t display the characters Đ Č Ć correctly, while Š Ž displays them correctly. Does anyone know how to solve this problem?

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.