In Delphi XE2, I'm using a TAdvStringGrid to print a simple report. Prior to submitting the job, I execute a TPrintDialog to select the target printer, but regardless of which printer I select in the dialog, the Windows default printer is used. There doesn't appear to be a way to get the selected printer's name or list index out of the dialog so I can set the TPrinter.PrinterIndex. Is there a workaround for this?
TPrintDialogupdatesTPrinter(including itsPrinterIndex) if the dialog is successful. You don't need to set thePrinterIndexyourself. If the report is going to the default printer, then that is likely a fault in whatever you are using to do the actual printing.