Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать параметры принтера без BeginDoc [D7, Win95/98, Win2k, WinXP]


Tria ©   (2005-06-09 14:38:00) 

Перед печатью и предварительным просмотром необходимо узнать параметры принтера. Делаю так:
Printer.BeginDoc;
 GetDeviceCaps(Printer.Canvas.Handle,HorzSize);
 ...
Printer.Abort;
В этом случае есть такие проблемы на разных принтерах:
- производится печать страницы с сообщением об ошибке;
- если сразу после этого послать данные на печать, то принтер ничего не печатает. Через некоторое время он "отдупляется" и если снова послать на печать - то печатает нормально.

Пробовал заменить Printer.Abort на Printer.EndDoc. В этом случае идет прогон пустой страницы.

Подскажите плиз, как мне быть?


Tria   (2005-06-09 15:25:00) [1]

Получилось.
Огромное спасибо.

Кстати, под 98 все работало и так, без ошибок :(


Суслик   (2005-06-09 15:11:00) [2]

canvas убери


Tria   (2005-06-09 15:05:00) [3]

Если бы.
При
GetDeviceCaps(Printer.Canvas.Handle,HorzSize);
Выдает:
Printer not curently printing


Суслик   (2005-06-09 14:40:00) [4]

Зачем делать BeginDoc? Без него рабоать должно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо