Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Autres
Autres Autres logiciels d'informatique décisionnelle, de statistiques, générateurs d’états ou outils infocentre : EpiInfo, FreeReport, FastReport, Hyperion, JPivot, QuickReport, Mondrian, ReportBuilder, Stata, Spad, Spss, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/11/2007, 10h27   #1
Membre du Club
 
Inscription : juillet 2004
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 201
Points : 67
Points : 67
Par défaut [Quick Report] Image

Bonjour

je développe une appli qui produit un état composé de plusieurs dizaines de pages contenant une image entièrement élaborée par l'appli. La composition de l'image se fait hors de l'état qui assigne simplement l'image fabriquée dans un TQRImage.

Or si la taille de l'image dépasse environ 600 * 800 pixels, j'ai -aléatoirement- des pages entièrement noires. Le bug n'apparait pas toujours à la première impression mais parfois seulement à la deuxième. Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
procedure TQuickReport2.QRStringsBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: BOOLEAN);
begin
QuickReport2.NewPage;
end;
 
procedure TQuickReport2.QuickRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: BOOLEAN);
begin
 QrImage1.height:=600;
 QrImage1.width:=1024;
 QrImage1.top:=0;
 QrImage1.LEFT:=0;
 
 Image:=TImage.CREATE(self);
 Image.Height:=QrImage1.Height;
 Image.Width:=QrImage1.Width;
 
 Form1.FullImage(Image,0);
 QrImage1.Picture.assign(Image.Picture);
 
end;
 
procedure TQuickReport2.QuickRepAfterPrint(Sender: TObject);
begin
Image.free;
end;
sachant que la fonction Form1.FullImage(Image,0); remplit innocemment l'image d'une couleur.

Code :
1
2
3
4
5
6
 
procedure TForm1.FullImage (var Image:TImage; width : integer);
begin
  Image.canvas.Brush.Color:=clred;
  Image.Canvas.FillRect(rect(0,0,Image.Width-1,Image.Height-1));
end;
Bien sur le TQuickReport, et le TQRStringsBand possèdent des tailles suffisantes pour recevoir l'image !

Je me demande si QUickReport ne contient pas un bug ? Je suis allé faire un tour sur Rave mais c'est une autre histoire...un autre fil donc.

Que vous inspire cette mésaventure ?
frantzgac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2007, 19h15   #2
Membre du Club
 
Inscription : juillet 2004
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 201
Points : 67
Points : 67
Je considère le problème résolu bien que la solution ne soit pas accessible à ceux qui ne dispose pas du source de Quick Report.

http://www.delphipages.com/threads/t...30136&G=130136
http://www.qusoft.com/Imagefix2.html

Ces liens indiquent l'origine du problème qui réside bien dans Quick Report et la solution consistant à modifier le source de la méthode Print du QuickReport.

Pour ma part je vais employer la Canvas du TPrinter...
frantzgac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h03.


 
 
 
 
Partenaires

Hébergement Web