Главная страница
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.013 c
1-1259225003
Циркуль
2009-11-26 11:43
2011.07.17
Непредсказуемый порядок обхода контролов


15-1301572664
vajo
2011-03-31 15:57
2011.07.17
Мозилла


6-1237104256
Тимохов
2009-03-15 11:04
2011.07.17
Заголовок Proxy-Connection при использовании библиотеки WinINet


15-1302074023
Sergey
2011-04-06 11:13
2011.07.17
График на делфи!


15-1301468622
eclipse
2011-03-30 11:03
2011.07.17
"Тест драйв" программы