Вниз
Скачать: CL | DM;

QReport - как программно сменить принтер?   Найти похожие ветки 

← →
lightix   (2003-06-24 16:18) [0]

Помогите! нужно перед печатью как бы заново переинициализировать установки принтера для QReport, иначе если после запуска программы принтер был удален, то после Qreport1.PrinterSetup; вылетает ошибка типа "нет принтера установленного по умолчанию".
Пробовал менять настройки с помощью PrintDialog - но он почему-то не меняет эти настройки :(((
ПОМОГИТЕ!!!!!!!!


← →
clickmaker ©   (2003-06-24 16:27) [1]

QuickRep1.PrinterSettings.PrinterIndex := Index;
где Index - индекс одного из принтеров в глобальной переменной Printers


← →
lightix   (2003-06-24 16:32) [2]

А можно ему 0 задать или Null?

Как обработать нажатие кнопки при QuickRep1.PrinterSetup
т.е. я хочу знать нажали ОК или Cancel?


← →
clickmaker ©   (2003-06-24 16:39) [3]

Можно задать ему -1, что в принципе должно означать отсутствие принтера


← →
lightix   (2003-06-24 16:42) [4]

А с кнопкой что? Как узнать что пользователь нажал - Да или Отмену?


← →
clickmaker ©   (2003-06-24 16:59) [5]

Есть недокументированная фича: если после вызова QuickRep.Tag становится 1, значит - Отмена, если 0 - ОК.
Но я бы на это особенно не полагался, поскольку, кто их знает этих ребят из QuSoft...


← →
lightix   (2003-06-24 17:04) [6]

А как прикрутить сюда TPrinterSetupDialog ? Чтобы он параметры установил. Его и обрабатывать просто ;)


← →
clickmaker ©   (2003-06-24 17:21) [7]

Что-нить типа того:
if TPrinterSetupDialog.Execute then begin
QuickRep.PrinterSettings.Copies := Printer.Copies;
...
end;


← →
lightix   (2003-06-24 17:37) [8]

Почему-то QuickRep1.PrinterSettings.PrinterIndex := -1 не работает :(((
может его еще надо как-то переинициализировать?
Текст вот такой
PrintNaprForm->QuickRep1->PrinterSettings->PrinterIndex=-1;
PrintNaprForm->QuickRep1->PrinterSetup();
if(PrintNaprForm->QuickRep1->Tag==0)
PrintNaprForm->QuickRep1->Print();
и опять те же грабли :(( что я не так делаю???


← →
lightix   (2003-06-24 17:57) [9]

Поставил
PrintNaprForm->QuickRep1->PrinterSettings->PrinterIndex=0;
- как раз то что надо - всегда устанавливается принтер по умолчанию :)

СПАСИБО ОГРОМНОЕ!


← →
lightix   (2003-06-24 18:22) [10]

Блин, рано радовался :((( Всеравно он хотьи в списке светит принтер который указываешь, а ошибку выдает :((
Как его еще можно проинициализировать , ну как при запуске программы например?
потому как выходишь из программы, потом запускаешь заново - и все ок .....


← →
lightix   (2003-06-24 18:25) [11]

Может это даже и не к QReport относится, а вообще к приложению??

проблема в следующем - юзера ходят на сервер приложений под одним пользователем. при входе автоматически подключаются принтеры пользователя и устанавливается по умолчанию.
если пользователь запустил программу, и после этого зашел еще один пользователь - то по умолчанию устанавливается принтер 2-го пользователя, а у 1-го программа "думает" что по умолчанию стоит его родной принтер. Вот и не печатает ..
как бы юзера друг друга не дают печатать :((


← →
lightix   (2003-06-24 18:30) [12]

нужно что то типа TPrinter.Refresh или что то в этом духе для всего приложения и для репорта...
ПОМОГИТЕЕ


← →
Aleksandr ©   (2003-06-25 11:03) [13]

В свое время я писал разработчикам по этому (и истчо по нескольким багам) поводу, на что мне ответили, что это неисправимая вещь.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.01 c
14-20250
Доброжелатель2
2003-06-19 22:48
2003.07.07
Заработок в Интернет


3-20017
???
2003-06-13 14:44
2003.07.07
проблема со значениями по умолчанию (mdb)


6-20179
LOX
2003-05-01 14:09
2003.07.07
Как сделать команду поиск по текущей странице для компонента TWeb


1-20129
Dan
2003-06-25 06:21
2003.07.07
вложенные циклы


14-20295
KSergey
2003-06-20 14:34
2003.07.07
2 раза добавил вопрос в




   Наверх