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

Вниз

Печать на плоттер   Найти похожие ветки 

 
Maverick   (2003-05-14 09:38) [0]

Проблема в том, что при очередном выводе в Printer.Canvas программа вроде как зависает. Перед этим всё благополучно уходит. Может быть при выводе на плоттер есть какие-то свои особенности? Может быть стоит делать NextPage? А как тогда узнать, сколько элементов может влезть в этот плоттер?
Ещё одна проблема в том, что юзер с плоттером находится далеко и посмотреть, как всё это выглядит, я не могу. :(


 
Слесарь Матерящийся ©   (2003-05-14 11:32) [1]

IMHO, надо проверить на каком-либо принтере (не-плоттере, лучше поставить какой-нибудь "Epson Compatible 24pin", etc), предварительно перенаправив вывод в файл (порт FILE: спулера печати). Если всё пройдёт гладко (получим файл с данными печати), и ничего не повиснет, значит, в первом приближении, код не виноват.
Если код не виноват, то, возможно, дело в режиме вывода.
Постарайтесь не использовать операции таких типов, какие рендер не поддерживает (например, вывод растровой картинки на векторный плоттер).
Какие операции плоттер поддерживает - можно узнать с помощью ф-и GetDeviceCaps() WinAPI.
Ещё одна возможность - не использовать TCanvas, а рисовать прямо на hdc. IMHO, гораздо проще.

Плюс - если плоттер доступен через сеть, поставить его на локальном компе и перенаправить вывод в тот же порт FILE: - эта проверка поможет понять, всё ли в порядке с транспортом данных по сети.

Разумеется, всё это лишь предположения, делать именно так не обязательно, одним словом, IMHO...


 
Maverick   (2003-05-15 11:02) [2]

Да в том-то и дело, что у меня всё печатает прекрасно. В сетке несколько принтеров и проблем никаких не наблюдается.
В канвас же я вывожу как раз векторную графику (moveTo, lineTo).
А рисовать на hdc, как я понимаю, можно так же, как и на канвас, теми же функциями?


 
Слесарь Матерящийся ©   (2003-05-15 11:54) [3]

На hdc можно рисовать с помощью MoveToEx() и LineTo(), для создания пера - CreatePen() и для выбора пера - SelectObject(). Все функции - WinAPI. В остальном всё то же самое.


 
Maverick   (2003-05-16 10:19) [4]

Вы таки будете смеяться, но мне удалось уговорить пользователя переустановить драйвера и проблема вроде как исчезла! :)
Одно не понятно, другой софт, например AutoCAD, выводил на этот плоттер не смотря на кривость драйверов. Наверное, использовать winAPI лучше, чем tPrinter.



Страницы: 1 вся ветка

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-77766
N&N
2003-07-02 08:42
2003.07.24
Редактирование DataSet


3-77775
rh
2003-07-02 05:13
2003.07.24
AdoQuery и BatchMove


3-77739
MakNik
2003-06-27 09:34
2003.07.24
как в DBCtrlGrid сделать кнопу


3-77802
zep
2003-07-02 23:24
2003.07.24
работа с Alias


7-78177
DBDev
2003-05-14 17:28
2003.07.24
Какой функцией получить путь к локальной папке