>Sorry, I spoke without checking. However, I use NOCONSOLE TO FILE NULL with no output going to the printer. The only difference is I am specifically naming the report rather than using a variable. You might try EVAL(cNomeReport) OR &cNomeReport.
Sorry, it doesn't solve.
But try something like this in a .prg file.
This should recreate the problem and the output should go to the printer and not to the file.
At least this is what happens on my PC. :-)
Maybe I'm doing something wrong, but I really don't understand what! :-/
set reportbehavior 80
use MyTable
set printer on
c = getprinter()
set printer to name (c)
set printer off
REPORT FORM myReport noconsole to file foo.txt