Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-20126
Артем К
2003-06-25 02:09
2003.07.07
Как обединить два столбца в StringGride?


4-20364
3223(jab)
2003-04-29 10:35
2003.07.07
Работа с GetFullPathName()


11-20029
blackalex
2002-10-29 15:28
2003.07.07
@Gandalf : TMHFontDialog


11-20025
Константин
2002-10-28 11:40
2003.07.07
пара ?? о KOL


3-19961
Lord Vader
2003-06-11 10:32
2003.07.07
Несколько копий одного QuickReport на одной странице





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский