![]() |
Bitmap in Rave Report ansprechen
Hallo,
ich habe eine Grafik und einen Text in einem Rave-Report. Den Text kann ich ansprechen über "SetParam". Klappt einwandfrei. Aber das zuweisen der Grafik klappt nicht.
Delphi-Quellcode:
Was mache ich falsch?
RvProject1.Open;
RvProject1.SetParam('Label_001', 'AusgabeMuster'); RvProject1.SetParam('barCodeImage', imgBarCode.Picture.Bitmap); // <- Klappt nicht RvProject1.Execute; Kann ich eine Grafik nicht über SetParam ansprechen? Gruß Holger. :gruebel: |
Re: Bitmap in Rave Report ansprechen
Holger,
du musst noch ein BeforePrint - Event im RaveSkript einfügen; Bitmap1.FileLink := RaveProject.GetParam('barCodeImage'); that's all :-) thomas, TeamNevrona (nach langer zeit wieder etwas zeit für die DP ...) |
Re: Bitmap in Rave Report ansprechen
Hallo,
ich habe jetzt folgendes eingefügt
Delphi-Quellcode:
Aber ".FileLink"kennt meine IDE nicht
procedure Tfrm_main.RvSystem1BeforePrint(Sender: TObject);
begin imgBarCode.FileLink := RvProject1.GetParam('barCodeImage'); // imgBarCode = Timage auf der Form // 'barCodeImage' = Variable im Rave Report end; |
Re: Bitmap in Rave Report ansprechen
in der RAVE-IDE nicht in Delphi...
{ Event for Bitmap1.OnBeforePrint } function Bitmap1_OnBeforePrint(Self: TRaveBitmap); begin Bitmap1.FileLink := RaveProject.GetParam('barCodeImage'); end; :-) thomas, TeamNevrona |
Re: Bitmap in Rave Report ansprechen
Oops.
Sorry. Habe ich jetzt als Event für die Bitmap Komponente eingefügt. Aber -> Es erscheint kein Bild in meinem Report. Wundert mich eigentlich auch nicht. Woher weiß der BeforePrintEvent denn welche Grafik er nehmen soll? Ich verstehe den Zusammenhang noch nicht. :gruebel: [Edit] Als Übergabe vom Projekt kommt bisher
Delphi-Quellcode:
Das kann er nicht kompalieren weil ich mit SetParam nur Strings übergeben kann.
RvProject1.SetParam('barCodeImage', imgBarCode.Picture.Bitmap);
imgBarCode.Picture.Bitmap = TBitmap [/Edit] |
Re: Bitmap in Rave Report ansprechen
okay, habe ich etwas falsch gelesen ....
der weg über die CustomConnection Connection.WriteField('FieldGrafik', dtGraphic, 30,'',''); oder der weg über RANT:
Delphi-Quellcode:
:-) thomasvar MeinBitmap: TRaveBitmap; MeineSeite: TRavePage; begin with RvProject1.ProjMan do begin MeineSeite := FindRaveComponent('Report1.Page1', nil) as TRavePage; MeinBitmap := FindRaveComponent('Bitmap1', MeineSeite) as TRaveBitmap; MeinBitmap.Image.Assign(Image1.Picture.Bitmap); end; RvProject1.ExecuteReport('Report1'); |
Re: Bitmap in Rave Report ansprechen
Der Report mag mich nicht...
Ich habe jetzt das "RANT" Beispiel eingebaut. (Kann ich nach vollziehen, gefällt mir besser) Er kennt die Typen "TRaveBitmap" und "TRavePage" nicht. Unter Uses habe ich folgedes eingebunden
Delphi-Quellcode:
In der Hilfe findet sich leider extrem wenig über Rave
RpRenderPDF, RpRender, RpRenderCanvas, RpRenderPrinter, RpDefine, RpRave, RpBase, RpSystem, RpRenderPreview
|
Re: Bitmap in Rave Report ansprechen
uses um folgende units erweitern;
RVClass, RvProj, RVCsStd, :-) thomas, TeamNevrona |
Re: Bitmap in Rave Report ansprechen
Du bist mein Held
:hello: Danke.Klappt. |
Re: Bitmap in Rave Report ansprechen
Und auch mein Held auch :hello:
|
Re: Bitmap in Rave Report ansprechen
:oops:
:-) thomas |
Re: Bitmap in Rave Report ansprechen
... und jetzt auch mein Held :hello:
|
Re: Bitmap in Rave Report ansprechen
Gerne würde ich sagen, dass Du auch mein Held bist!
Eigentlich bist Du es ja auch, von früheren Begegnungen her, aber leider nicht in diesem Fall: (Ich benutze D-2010 und Rave 7.7 BE) Ich habe in "procedure TuFrmMain.TransmitBarcodeImgToRave;":
Delphi-Quellcode:
Und erhalte folgenden Log-Eintrag:
with RvProject1.ProjMan do begin
iErrorCode := 1; MeineSeite := FindRaveComponent('Report1.Page1', nil) as TRavePage; iErrorCode := 2; MeinBitmap := FindRaveComponent('Bitmap1', MeineSeite) as TRaveBitmap; iErrorCode := 3; MeinBitmap.Image.Assign(ImageBarcode.Picture.Bitmap); end; Zitat:
Die Bitmap-Komponente in Rave, wo das Bild rein soll, heißt "Code128Image" und hat als DataView "Param.Code128Image". Das BeforePrintEvent habe ich, wie oben beschrieben als Event bei Code128Image eingefügt. Ich steh voll auf der Leitung, was ich da verkehrt mache, kann mir jemand helfen? ------------------- Noch eine Bemerkung am Rande: Der Hinweis: "Nimm doch die Barcode-Komponente von Rave..." ist nicht zielführend, weil ich das Gleiche auch noch mit dem DataMatrix-Code machen muss. Dafür gibt es keine Komponente... ;-) |
Re: Bitmap in Rave Report ansprechen
Hallo Glühwürmchen,
Du sagtest Zitat:
Delphi-Quellcode:
Außerdem benötigt das Ravebitmap in diesem Fall keine Dataview. Die Bitmap wird ja über den Delphi-Code zugewiesen.
with RvProject1.ProjMan do begin
iErrorCode := 1; MeineSeite := FindRaveComponent('Report1.Page1', nil) as TRavePage; iErrorCode := 2; MeinBitmap := FindRaveComponent('Code128Image', MeineSeite) as TRaveBitmap; iErrorCode := 3; MeinBitmap.Image.Assign(ImageBarcode.Picture.Bitmap); end; Sollte es auch dann noch Probleme geben, kannst Du es auch noch mit
Delphi-Quellcode:
versuchen.
MeinBitmap.Image.Assign(ImageBarcode.Picture.Graphic);
Zitat:
gruß rawi |
Re: Bitmap in Rave Report ansprechen
Das hier:
Zitat:
Edit: 14:50 Uhr Beide Alternativen: "MeinBitmap.Image.Assign(ImageBarcode.Picture.Grap hic);" und "MeinBitmap.Image.Assign(ImageBarcode.Picture.Bitm ap);" verursachen nach wie vor an der gleichen Stelle die Zugriffsverletzung. |
Re: Bitmap in Rave Report ansprechen
Hast Du auch diese Zeile angepasst?
Zitat:
das OnBeforePrint im Report wird dann auch nicht benötigt. |
Re: Bitmap in Rave Report ansprechen
Hi rawi,
erst mal vielen Dank für Deine Mühe! Also, ich habe die Zeile Zitat:
Zitat:
Zitat:
Das Ergebnis ist jedoch immer das Gleiche: Das Bild mit dem Barcode wird nicht übertragen, ehe der Report gedruckt wird und im Logfile steht die immer gleiche Fehlermeldung. |
Re: Bitmap in Rave Report ansprechen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Glühwürmchen,
kannst Du mal anhängendes Beispiel testen. Ist allerdings mit Delphi 2010 erstellt. Musst noch den Pfad zum Projektfile ändern! Gruß rawi |
Re: Bitmap in Rave Report ansprechen
Hallo rawi,
PERFEKT! Es tut. Ich kam erst heute abend dazu, Dein Beispiel auszuprobieren. Es lief auf Anhieb. Ich verglich mit meinem Code und sah keinen Unterschied. 'Ok', dachte ich, das ist sicher irgend so eine Kleinigkeit, die ich irgendwo falsch eingestellt habe, bis ich das gefunden habe, habe ich das Projekt auch noch mal neu angelegt. Gesagt - getan. Zwei Stunden Arbeit - dann war mein Programm so wie es sein sollte. Jetzt den Rave-Report erstellen. 'Ah, er hat keine Region drin. Ob es das ist?', dachte ich. Es war es nicht. Als ich fertig war, lief es nicht. Gleicher Fehler wie vorher, an der gleichen Stelle!! Ich wollte gerade den Code von Deiner Unit rauskopieren und ihn in meiner Unit einfügen, da fiel es mir wie Schuppen von den Augen: Hier saß der Bug eindeutig zwischen Monitor und Stuhllehne!
Delphi-Quellcode:
Diese Zeile hatte ich vergessen!
RvProject1.Open;
Ohne Deinen BeispielCode hätte ich das nie gefunden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz