First of all, I would ask you to clarify how you interpret the situation.
Mike, in short, says you don't need to hack the EXPR field of the first record and empty it because you now simply have an additional setting here in report properties:
So when you absolutely want to store printer info into the FRX, you can do so. This switch allows that. that also means the same EXPR field is still used for that and you can modify its content.
The big point is, it's inferior to what you can do going the other recommended route of solving the need for multiple printer configurations, each one for a report: You install the same printer multiple times in Windows itself, give it several names and therefore have several configurations you can then switch simply by switching printer name, which within VFP means to SET PRINTER TO NAME some_printer_setting_name.
So let's say you have an HPLaserjet with 3 printer trays and put in normal, high quality and label paper into the trays, then install the driver thrice and name it HPnormal, HPHQ and HPLabels and configure these three logical printers (all the same physical printer) to use paper tray 1,2, and 3. The big advantage here is you can use absolutely any detail the printer driver allows you to set. In contrast, the EXPR field of the first record of an FRX can only contain a subset of configuration options, simply by the fact of merely storing a set of textual key-value pairs in a memo, this is limited, as far as I know. and I know there is SYS(1037), which behavior got changed with XP and SYS(1037,2) and SYS(1037,3) to read printer settingsm into FRX and FRX settings into the default printer. But that doesn't cover everything and is limited to the default printer.
To work this way means you never use this setting to actually save the printer environment in an FRX. So when you ask me, that VFP option to choose saving or not saving printer options came far too late. At an earlier time, the way to store such info may have been enough, but printers and their drives have become more complex and possible options, too.
You might consider this as separation of concerns, which are actually only one and should not be separated, as here you don't have separate concerns of printer configurations and reports, they must match to work out correctly. Yes, but it's also unfortunate to need to exclude FRXes to hack them with different settings and rely on the printer system getting and setting them.
So overall, you may give it a try, but the solution of multiple printer installations the VFP community already used for very long is much more near to what Windows offers to both users and printer vendors. This compares a bit like using ODBC DSN (Datasource names) and make all detail configurations in the ODBC Administrator instead of using a connection string you can keep under your control, which is the only part speaking for saving printer environments. But the disadvantage of your customers in control of the printers via Windows Printer system or the connection settings via ODBC Administrator also is the advantage they can correct or switch, when necessary.
The only remaining disadvantage is you have to SET PRINTER TO NAME x before running a report, but you have a report code section, too, within the report data environment you can embed the SET PRINTER TO NAME some_printer_setting_name in the Init of it.
There also is no worry about changing the default printer, as SET PRINTER TO NAME printer_name only changes which printer VFP uses to print, it doesn't change the Windows default, so you also won't need to reset it.
The final thought perhaps: As you don't embed the configuration in FRX you have to do this for every customer and add an administrative burden for them, but then you'd need to adapt your FRXes to other customers, too. So this seeming disadvantage isn't one, it's even contrary: You can use the same FRX without settings just depending on a certain printer name, which several customers can give their own printer install independent on the printer make and model, just supporting the options your report needs. So, in the end, separating configuration from reports now has an advantage and concern: Several customers having different printers with good enough similar capabilities to be used.
Bye, Olaf.