Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1302503570
И. Павел
2011-04-11 10:32
2011.07.17
Работа с TPrinter


15-1301662575
ddd329
2011-04-01 16:56
2011.07.17
Delphi затребовал регистрацию


15-1301516995
Юрий
2011-03-31 00:29
2011.07.17
С днем рождения ! 31 марта 2011 четверг


15-1301692279
istok
2011-04-02 01:11
2011.07.17
Просьба попороть иконки...


15-1301471301
И. Павел
2011-03-30 11:48
2011.07.17
Как узнать id добавленной записи в БД?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский