Well- for anyone else interested in the answer to my last question, I was able to find a detailed explanation for it.
And it is, as I was expecting- a form of escaping characters. But I wanted to share what I found...
While this is noted in the FastReport PDF manual on page 87, it doesn't go into any details about why... which is what I was curious about.
The online manual has a page about modifying variable values. And I'll paste the content below:
It should be noted, that when accessing a report variable its value is calculated if it is of string type. That means the variable whose value is 'Table1.“Field1”' will return a value of a DB field and not the 'Table1."Field1"' string. You should be careful when assigning a string-type value to a report variable. For example, this code will raise the exception “unknown variable 'test'” when running a report:
frxReport1.Variables['My Variable'] := 'test';
because FastReport is trying to calculate a value for variable 'test'. The right way to pass a string value is:
frxReport1.Variables['My Variable'] := '''' + 'test' + '''';
In this case the variable value, string 'test', will be shown without errors. But keep in mind that:
In some cases it is easier to pass variables using a script.
-joshuA
"Energy and persistence conquer all things."