Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.17;
Скачать: CL | DM;

Вниз

Работа с 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
15-1301479509
R_R
2011-03-30 14:05
2011.07.17
Как вы относитесь к языку моделирования GPSS?


2-1302526998
mefodiy
2011-04-11 17:03
2011.07.17
В Delphi 2010 не работает Breakpoint


2-1302721117
Алекс_123
2011-04-13 22:58
2011.07.17
ClientDataSet закрытие приложения без сохранения результатов


2-1302427279
SIV5000
2011-04-10 13:21
2011.07.17
Message Dialog + текст


15-1302072937
Scott Storch
2011-04-06 10:55
2011.07.17
tortoise svn