Форум: "Основная";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизНе печатается отчет (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c