Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-77939
SergeyN
2003-07-09 18:39
2003.07.24
EOleSysError


14-78150
VLL
2003-07-09 12:14
2003.07.24
Количество открытых файлов в Dos


6-78035
SkyRanger
2003-05-17 08:07
2003.07.24
Сокеты Win32


3-77771
Dimonmw
2003-07-02 09:44
2003.07.24
Поворот таблицы


3-77780
IGOR_1
2003-07-02 14:39
2003.07.24
поиск dbf




   Наверх