if PrintDialog1.Execute then begin
// we should also assign cmbPrinter.ItemIndex := Printer.PrinterIndex;
// but I did not do it to make sure that the printer is changed only by TPrintDialog
UpdateControlsForPrinter;
SRVPrint1.Print('test', 1, False);
end;

Result: the demo prints on the printer chosen in the dialog, as expected.