Engine and PrintPosRect
Hi,
I've posted an issue in d-m.p.r.subReports for summary alignment at bottom
of the page.
It was sent to me an example called SummaryAlignBottom. It worked really
fine. Now I'm trying to implement it in RAP. Almost everything is running
fine, including TList creation and management and onDrawCommandCreate.
Actualy there is only two lines of code that I didn't find out how to write
in RAP. They are:
liSummaryTop := ppReport1.Summary.PrintPosRect.Top;
liNewSummaryTop := ppReport1.Engine.PageBottom -
ppReport1.Summary.SpaceUsed;
More specificaly, I didn't get access to Summary.PrintPosRect.Top and
Engine.PageBottom.
Thank you for your attention.
--
-----
Ricardo Acras
Acras Desenvolvimento de Sistemas
www.acras.net
ricardo@acras.net
+41-223-9109
+41-9974-3201
+42-9108-5672
I've posted an issue in d-m.p.r.subReports for summary alignment at bottom
of the page.
It was sent to me an example called SummaryAlignBottom. It worked really
fine. Now I'm trying to implement it in RAP. Almost everything is running
fine, including TList creation and management and onDrawCommandCreate.
Actualy there is only two lines of code that I didn't find out how to write
in RAP. They are:
liSummaryTop := ppReport1.Summary.PrintPosRect.Top;
liNewSummaryTop := ppReport1.Engine.PageBottom -
ppReport1.Summary.SpaceUsed;
More specificaly, I didn't get access to Summary.PrintPosRect.Top and
Engine.PageBottom.
Thank you for your attention.
--
-----
Ricardo Acras
Acras Desenvolvimento de Sistemas
www.acras.net
ricardo@acras.net
+41-223-9109
+41-9974-3201
+42-9108-5672
This discussion has been closed.
Comments
You will need to extend RAP with one or more custom functions to do what you
need.
(Not all properties and functions are exposed to RAP.)
--------------------------------------------------
Article: Extending RAP
---------------------------------------------------
There are two very simple and powerful techniques to extend the capabilities
of RAP infinitely. These are summarized below and covered in more detail in
the RAP.hlp online help. Demos and tutorials are installed to
RBuilder\Demos\RAP. The tutorial text is located in RAP.hlp.
1. RAP Pass-Through Functions
These are functions that appear in the Language tab of RAP's Code Toolbox.
These functions are written in Delphi and can be called from RAP. RAP's
pass-through function architecture enable's developers to add new built-in
functions to RAP's code toolbox.
2. Extend RAP's RTTI
RAP's Run-time Type information defines what classes and properties can be
accessed via RAP. By default the published properties of any class that is
registered with Delphi's RegisterClass procedure is recognized by RAP. In
addition many of the public properties and methods of ReportBuilder classes
are exposed.
--
Tech Support mailto:support@digital-metaphors.com
Digital Metaphors http://www.digital-metaphors.com
--
Nard Moseley
Digital Metaphors Corporation
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Spetacular.
It worked fine here. All my needs are ok. This question is just curiosity.
To solve the engine.PageBottom issue I created a function named
getReportPageBottom, which gets a report as parameter and returns an
integer. Is it possible to extend a RTTI that is already exported like
TppReport?
I did the TDatabase RTTI tutorial and it works fine.
Thanks.
Ricardo Acras
Yes. TraTppReportRTTI is defined in ppReport.pas. You could descend from
this class and add more properties. Then in the initialization section of
your unit unregister the existing class and register your custom RTTI class.
example:
Initialization
raUnRegisterRTTI(TraTppReportRTTI); // unregister the existing RTTI class
raRegisterRTTI(TmyTppReportRTTI); // register your custom RTTI class
--
Nard Moseley
Digital Metaphors Corporation
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
acras