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

Вниз

Не печатается отчет (TQuickRep). В чем дело?   Найти похожие ветки 

 
SergP ©   (2003-09-23 21:51) [0]

Прошу прощения. Не очень хотелось задавать здесь второй за сегодня вопрос по QuickRep, но возникла проблема, которую хотелось бы решить сегодня...

Создаю отчет по данным массива. Уже все нормально работает. В режиме preview могу его посмотреть, вобщем все как положено. Только вот не хочет он у меня печататься. При попытке напечатать его на принтер ничего не происходит. Видно что на какие-то доли секунды мелькнуло окошко с progressbar и все, хотя отчет большой (несколько десятков страниц). На принтер ничего не посылается.
Подскажите пожалуйста про что я забыл... Отчего такое может быть?
Демосы смотрел, но пока там ничего не нашел...


 
SergP ©   (2003-09-24 10:48) [1]

Мастера! Никто ничего не подскажет?
Понимаю что вопрос не совсем конкретный, но по другому я его не могу сформулировать... Если бы мог, то возможно что и ответ бы сам нашел...
Кстати, я могу в реждиме preview сохранить отчет в файл, и открыть его в другой программе и распечатать, но в моей проге он печататься не хочет.
Пожалуйста подскажите что может быть...


 
SergP ©   (2003-09-24 12:42) [2]

Все. Наконец то понял в чем дело... Вопрос отменяется...


 
Johnmen ©   (2003-09-24 12:48) [3]

Но появляется другой ! Так в чем же дело ?
:)


 
SergP ©   (2003-09-24 13:28) [4]

Ну если тебе это интерестно, то могу сказать:
В отчет я выводил данные из массива. (использовал эвент OnNeedData)

procedure TForm2.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if Reportvar>Form1.k_zvitmont then
begin
Moredata:=false;
...
end
else
begin
MoreData:=true;
...
inc(ReportVar);
end;
end;

Переменная reportvar используется как индекс для массива из которого я вывожу данные. Но первоначально я ее инициализировал только перед вызовом preview:
...
form2.reportvar:=1;
form2.QuickRep1.Preview;
...

Поэтому preview работал нормально, а печататься отчет не хотел, так как оказалось что при печати снова происходит вызов OnNeedData, а переменная reportvar уже имеет максимальное значение. т.е. как-будто нечего печатать.

Помогло вот это: (Инициализация вышеупомянутой переменной непосредственно перед печатью.)

procedure TForm2.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
...
ReportVar:=1;
end;

Так что ничего тут особенного или интерестного нет. Но я вчера потратил на это часа два и сегодня около часа... :( А все так просто...:(


 
Anatoly Podgoretsky ©   (2003-09-24 13:37) [5]

И ты думаешь, что кто ни будь помог бы тебе без этого кода, с этим даже наши супер телепаты не справились бы.


 
Johnmen ©   (2003-09-24 14:10) [6]

Вообще-то я подозревал, что происходит нечто подобное. Типа "превью прогнал данные до конца, а принт не делает позиционирование в начало данных"...:)
Но, конечно, прав на 100% Anatoly Podgoretsky © (24.09.03 13:37).


 
SergP ©   (2003-09-24 15:01) [7]


> Anatoly Podgoretsky © (24.09.03 13:37) [5]
> И ты думаешь, что кто ни будь помог бы тебе без этого кода,
> с этим даже наши супер телепаты не справились бы.


> Johnmen © (24.09.03 14:10) [6]
> Вообще-то я подозревал, что происходит нечто подобное. Типа
> "превью прогнал данные до конца, а принт не делает позиционирование
> в начало данных"...:)
> Но, конечно, прав на 100% Anatoly Podgoretsky © (24.09.03
> 13:37).


Ну понятное дело что никто бы не смог на 100% правильно догадаться в чем у меня проблема.
Я сам не понимал отчего моя проблема, поэтому и не мог точнее сформулировать вопрос.
Поэтому я надеялся что народ выскажет свои предположения...Вдруг кто-нить и угадал бы мою проблему. Например Johnmen говорит что "подозревал".
А насчет кода - я действительно лоханулся. Забыл выложить...



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
1-18377
k-sergey
2003-09-25 22:22
2003.10.06
Как изменить регистр РУССКИХ букв?


1-18426
Chaynik
2003-09-25 12:43
2003.10.06
Как определить координаты курсора при двойном нажатии на мышь?


1-18373
tim5
2003-09-22 21:10
2003.10.06
Замена обоев на рабочем столе.


1-18405
NickBat
2003-09-25 15:25
2003.10.06
TRichEdit


1-18427
62mkv
2003-09-25 11:13
2003.10.06
Как написать на Delphi 5 прогу для BDE 4 ?