Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];
ВнизРабота с TPrinter Найти похожие ветки
← →
И. Павел © (2011-04-11 10:32) [0]Здравствуйте.
Хочу расставить все точки над "и" по поводу стандартной дельфийской печати с помощью TPrinter. Вопросы мелкие и касаются одного объекта поэтому решил не делить на три разные темы:
1. Зачем нужен метод Printer, создающий новый TPrinter или возвращающий старый экземпляр, если такой имеется? Это же получается глобальный объект. А если в нескольких потоках его использовать - будет путаница, да и в одном потоке тоже можно с этим столкнуться. Можно ли самому создавать свой экземпляр и с ним работать? Т.е. просто писать: MyPrinter := TPrinter.Create? Или же есть плюсы в использовании именно функции Printer?
2. Есть ли какие-нибудь краеугольные камни, с которыми придется столкнуться при переходе с QReport на TPrinter (кроме того, что придется все масштабировать, учитывая параметр dpi принтера)?
3. У TPrinter есть какое-нибудь окно предварительного просмотра, или придется самому велосипед создавать?
PS. Как работать с TPrinter вспоминал, читая эту статью: http://www.podgoretsky.com/ftp/Docs/Delphi/D4/DG_Delphi4/chap10.pdf
Заранее спасибо.
← →
Anatoly Podgoretsky © (2011-04-11 11:15) [1]Ну ты сам ответил на все вопросы. Только вот использовать свой экземпляр не получится, это Singleton - в одном экземпляре. Просто не надо его использовать в потоках, пусть об будет использоваться в главном потоке и уже, через синхронизацию к нему обращаться. Плюсом или минусов нет, поскольку принтер один, просто надо именно использовать функцию Printer/
Собственно а как же иначе, ведь созданием экземпляра принтер не размножится.
2 Краеугольных камней просто нет, придется с нуля делать, иногда именно так и поступают, чтобы иметь доступ до канвы.
3. есть куча разных превью, разработаных разными разработчиками, можно поискать на Торри, самому совсем не обязательно разрабатывать.
ЗЫ: хоть и Д4 а статья не устарела. Жалко что теперь подобная документация с Дельфи уже давно не поставляется. А то эти четыре книги были очень ценными, но можно пользоваться старыми, информация там не сильно устарела.
← →
Anatoly Podgoretsky © (2011-04-11 11:30) [2]> Anatoly Podgoretsky (11.04.2011 11:15:01) [1]
Кстати раз нужна много поточность, то может напрямую работать чер Spool API
← →
И. Павел © (2011-04-11 11:33) [3]Anatoly Podgoretsky ©
Спасибо.
Превью поищу.
> [2] Anatoly Podgoretsky © (11.04.11 11:30)
Многопоточность при печати мне пока не нужна. Просто показалось странным использование одной глобальной переменной.
← →
clickmaker © (2011-04-11 11:40) [4]> Просто показалось странным использование одной глобальной
> переменной
а что странного? удобно. Принтер, как правило, один
← →
Плохиш © (2011-04-11 11:43) [5]Печатать из разных потоков одновременно это прикольно :-)
Буква из одного документа, буква из другого...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c