![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
печать на принтер, которые не "по-умолчанию" [D7, WinXP]
BOB16 © (2006-12-12 15:57:00)Столкнулся с проблемой: в программе осуществляется вывод на печать через компонент QPRINTERS.Printer (:TPrinter) - CLX-библиотека.
Если принтер этот объявлен как принтер "по-умолчанию", всё - хорошо.
Но, как только нужно вывести на другой принтер (тоже установленный в системе, один USB, другой LPT).
По хелпу выяснил, что нужно указать имя принтера куда печатать:
uses QPrinters,...
....
string PrinterNameS:= 'имя принтера';
...
QPrinter_setPrinterName(QPrinterH(Printer.PrintAdapter.Handle),@PrinterNameS);
потом ещё проверяю - действительно ли сейчас выбрал тот принтер:
QPrinter_PrinterName(QPrinterH(Printer.PrintAdapter.Handle),@PrinterNameS) ;
PrinterNameS - показывает, что да, принтер правильный,
но как толькоPrinter.BeginDoc; .. EndDoc;
Начинает печатать принтер, который с "галкой" - "по-умолчанию"!
Кто-нибудь сталкивался с такими заморочками?
BOB16 (2006-12-12 21:17:00) [1]имя принтера было получено ранее функцией
QPrinter_PrinterName(QPrinterH(Printer.PrintAdapter.Handle),@PrinterNameS) ;
и после выполнения
QPrinter_setPrinterName(QPrinterH(Printer.PrintAdapter.Handle),@PrinterNam eS);
при повторной проверке возвращается именно тот же принтер, который и хотелось бы "осчастливить" документом..
Но.....не тут то было - листы документа выползают совсем с другого....
В окне состояния очередь нужного принтера пуста!
Джо (2006-12-12 17:17:00) [2]> PrinterNameS - показывает, что да, принтер правильный,
> но как только Printer.BeginDoc; .. EndDoc;
>
> Начинает печатать принтер, который с "галкой" - "по-умолчанию"!
Может, название принтера указывается неверное?
BOB16 (2006-12-12 15:59:00) [3]Дополню: со стандартным TPrinter из VCL-библиотеки, проблем нет вообще:
Printer.PrinterIndex:= номер_выбранного принтера_для_печати;