Hallo
Ich habe einen Report mit 2 Bändern. Im ersten wird eine Tabelle angezeigt, im zweiten ein dazugehöriges Diagramm (TChart in Verbindung mit Metafile). Die Anzahl der Tabellenzeilen variiert, ich möchte aber, das das Diagramm immer den restlichen unteren Teil der Seite ausfüllt, egal wie groß die Tabelle ist.
Es gibt leider kein expandparent wie beim Datamemo und bei der Bandeinstellung finde ich auch nichts passendes.
Ich habe es erstmal so gelöst:
Delphi-Quellcode:
Onbeforeprint des [b]Metafiles[/b]:
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top;
Metafile-Eigenschaften: Anchors: beide stretched, Matzchseide=msinside
Was ich nicht verstehe:
- gleicher Code im onbeforeprint des databandes: nicht passiert, das Metafile bleibt in der Höhe gleich
- DataBand_diagramm.height:=Region1.height-DataBandoben.height;-> die Diagrammbandhöhe ist viel zu groß, obwohl doch eigentlich das gleiche rauskommen müßte
- die eingestellten Höhe-werte in den events und im
OI sind unterschiedlicher Auffassung bezüglich des Wertes. In den Events ist z.B. eine Höhe von 5 um ein vielfaches größer als eine eingestellte Höhe von 5 im
OI. Liegt vielleicht an inch-cm? In events kann ich nicht rechnen, s.u..
- Ich bin nicht in der Lage, irgendwelche Rechenoperationen mit Kommazahlen in den events durchzuführen
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top-2;
Funktioniert, bei:
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top-0,2;
Kann ich das event nicht compilieren , Fehlermeldung: „General Compiler-Error – Zugriffsverletzung bei Adresse 01B0E3AC in Modul ‚RVEngine60.bpl’. Lesen von Adresse 00000008“
Gäbe es auch eine Lösung ohne Events? Ich möchte die nicht nutzen, da ich schon mal kräftig damit auf die Nase gefallen bin (innerhalb eines events ein DataviewFeld ausgewertet, anschließend das dataview umbenannt, Rave kommt damit nicht klar und es kommt eine nichtsagende
AV und man sucht sich duselig nach dem Fehler).
Danke
Frank