Dmitrii Опубликовано 13 января, 2012 Жалоба Опубликовано 13 января, 2012 В квик репорте сформирован документ который собственно и отправляется на печать. На документе есть картинка статическая в TQRimage вот она печатается не всегда. Тоесть при печати 30 документов в 25 случаях все распечатано нормально как и положено, а в 5 -картинки нет на бумажке . В чем может быть проблема?const XShift = 150; base = 450;var ostatok,scale,i,ii,n : integer; tA : VectorPtr;begin ii:=step*10; New(tA); J:=0; for I := Apt[II].XPos to Apt[II + 9].XPos do begin tA[J] := masa^[I]; Inc(J); end; N := J; Scale := Round((AbsMax(tA, N)- Apt[0].Ampl) / (qrimage1.ClientHeight-30)); with qrimage1.Canvas do begin MoveTo(XShift, base - tA[1] div Scale); for I := 1 to N-1 do LineTo(xshift + I, base - tA[I] div scale ); for I := 0 to 8 do Ellipse(XShift + Apt[II + I].XPos - Apt[II].XPos - 2, Base - Apt[II + I].Ampl div Scale - 2, XShift + Apt[II + I].XPos - Apt[II].XPos + 2, Base - Apt[II + I].Ampl div Scale + 2); Ellipse(XShift - 5, Base - 5, XShift + 5, Base + 5); moveto(XShift-300,base); Lineto(XShift+750,base); moveto(XShift,base-500); Lineto(XShift,base+500); moveto(XShift,0); {ñòðåëêè} Lineto(XShift-3,10); moveto(XShift,0); Lineto(XShift+3,10); moveto(qrimage1.Width, base); Lineto(qrimage1.Width-10,base - 3); moveto(qrimage1.Width, base); Lineto(qrimage1.Width-10,base + 3); for I := 1 to 8 do textout(Xshift + Apt[II+I].XPos-Apt[II].XPos-3,base - Apt[II+I].Ampl div scale +3, inttostr(i)); textout(300,150, 'Amplitude='+inttostr(AbsMax(tA, N)- Apt[0].Ampl)); end; QuickRep1.Preview; dispose(tA);end;end.procedure TSingleReportfm.FormCreate(Sender: TObject);qreport все чухают и наверное правильно, но пожалуйста пишите по существу.
TolkienDRR Опубликовано 14 января, 2012 Жалоба Опубликовано 14 января, 2012 Какая то ошибка с буферизацией, может имеет смысл таймаут поставить и/или обновить TQRimage перед печатью. Сужу поверхностно, сто лет с ним не работал, да и с проблемой такой не встречался =)
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти