Если нет принтера

Обсуждение извечных проблем кларионовских (и не только) отчетов

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
seawolf
Старожил
Сообщения: 213
Зарегистрирован: 08 Июль 2005, 11:23
Откуда: St. Petersburg

Если нет принтера

Сообщение seawolf »

Коллеги, я тут решил поковырять старую программу на C5/6 - она рисует wmf и сбрасывает его в pdf. Пришлось это дело вспомнить так как всплыл баг - если у клиента принтер по умолчанию имел размер не A4 а меньше то отчет обрезался (вылечил принудительным заданием размера A4 в свойствах Report). Но если в ситеме нет ни одного принтера (что конечно редкость так как без него не напечатать эти файлы) то всегда лист A4 разворачивается на альбом (обрезая часть отчета) и никакие "танцы" не могут заставить сделать портрет. Вот гадаю глюк-ли это Runtime и бросить это дело, или искать способы поворота в портрет (типа повернуть весь отчет на 90 если Printer{Proprint:Device} =''). Или может пересобрать на C7 и поглядеть там? Какие у кого идеи?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7336
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Если нет принтера

Сообщение Игорь Столяров »

Я бы назвал это особенностью, а не глюком ...

При формировании печатного листа используются настройки текущего принтера, в частности размер и расположение печатного листа и зона печати. Что в общем-то правильно. Отличий в этом вопросе в C7 от С6 нет. Наверно более корректным решением вопроса было бы проверка перед созданием отчета наличия текущего принтера (это не сложно Clip(Left(Printer{PropPrint:Device})) <> '' ) и соответсвенно выдача сообщение пользователю о том, что перед созданием отчета необходимо добавить в систему принтер по умолчанию, а потом уже создавать отчет ...

Т.е. что-то вроде сообщения одной из версий старого BIOS при загрузке компьютера: "Keyboard not present, press F1 to continue ..." ;)
За теми кто отстал - не возвращаться. (С) Кодекс
seawolf
Старожил
Сообщения: 213
Зарегистрирован: 08 Июль 2005, 11:23
Откуда: St. Petersburg

Re: Если нет принтера

Сообщение seawolf »

Да, какое-то извращенное представление об умолчательных настройках принтеров. У всех по умолчанию всегда портрет а тут решили изгольнуться. Собщение о наличии принтера придеться ставить в код перед запуском иначе не обойти этот косяк (ну или отчет повернуть на 90 градусов в альбом здесь в принципе задача решаема).
Ответить