nardmoseley
Comments
-
You would need to traverse all of the records in the DataPipeline.
RAP is not designed to traverse the DataPipeline, it does not contain
run-time type info for DataPipeline methods such as First, Next, etc,
You could… -
Have not tried it, but it should be doable. Compile the RAP procedures into
a separate package and then write code to load the package. See the Delphi
help for the LoadPackage function.
When the package loads, any Initiali… -
The first test would be, can you set this from any of the report events
(i.e. Delphi code). I have tested, but it may that this has to configured
prior to calling report.Print. You will need to test, for example setting it
from … -
In the main report's code module, declare a global like this:
var
gMainTotal: TppVariable;
In the main report's code module global OnCreate initialize the object
reference:
gMainTotal := genVaria… -
Consid using the Data workspace (i.e. DADE) to build queries that are used
by the report. You can link queries together creating lookup queries.
If you want to use RAP, see the article below. You can try writing a RAP
pass… -
Open RBuilder\Source\ppCtrls.pas and search for the
TppCustomMemo.CalcSpaceUsed method.
This method calls TppPlainText.WordWrap to wrap the text. The space used by
the memo is calculated as the number of wrapped lines * li… -
You need to use TppVariable components to perform calculations. The
TppVariable has an OnCalc event that can be used to set the
TppVariable.Value.
---------------------------------------------------------------------… -
Any RB add-on components need to be compiled to support a specific RB
version. No way to get around that requirement.
--
Nard Moseley
Digital Metaphors
You will need to recompile your grid component for RB 7.03, including the
custom RAP event code. Build all of the .dcu's and then build the packages.
Make sure that the design-time and run-time packages are installed into the
ap…
To add the FileExists function to RAP, you need to code a custom
pass-through function and register with RAP. (see article below).
There is no support in RAP for try..finally or try...except. If you need
that code, then I …
Actually overriding HasParams is not necessary for your custom functions.
The ancestorTraSystemFunction defaults this class function to return True.
You only need to override it, if you implement a function that does not
return…
You can easily extend RAP to include the ABS function by writing a
pass-through function and registering it with RAP. See the following
article.
--------------------------------------------------
Article: Extending R…
You can use Delphi to code RAP pass-through functions that are registered
with the Code Toolbox and can be called from RAP code. See the article
below.
--------------------------------------------------
Article…
1. Group.NewPage should be set prior to calling report.Print and should not
be modified. This property determines whether each group starts on a new
page.
2. To control whether a group breaks, you can use the
TppGroup…
Try creating a summary query that contains the GroupID's that have detail or
contains the GroupID's plus a count of the detail records. Connect the main
report to the summary data and use a subreport to print the detail data.
You state that the TmyPubPriceFunction.ExecuteFunction method bombs. So lets
break this method into a couple of simple tests.
1. Test the RAP class itself. In other words, test the parameter passing and
the passing of the …
Couple of options for forcing a page break:
1. Use a Group set to start new page.
Create a group on a TppVariable. Use the TppVariable.OnGetText event to
return the break value. (do not use the OnCalc event due…
1. PrinterName
Once the report starts printing, aWindows print job is created for the
specified printer. You cannot modify the printer name once the print job has
begun.
The Report.BeforePrint event can be used …
You can try searching this newsgroup - I think there is a customer who
created a utility to convert the RAP code to text. I do not recall whether
it converted both ways.
We do not have any conversion utilities or sample co…
I researched this further. The approach of setting
Report.Engine.Page.PrinterSetup will work for most properties such as
Orientation, Bin, etc.
However, looks like a different approach is required for the PrinterName -
Sorry, that was a typing mistake by me. It should have read
"By design, the datapipeline methods are not defined to RAP."
You can extend RAP at design-time as well. You need to compile your custom
RAP functions into …
By design, the datapipeline methods are defined to RAP. In general calling
any data traversal methods while the report is generating will cause the
report engine to get lost, resulting in an incorrect report.
You can easil…
Try calling Report.Reset prior to Report.Print.
--
Nard Moseley
Digital Metaphors
http://www.digital-metaphors.com
"Justin Heasman (OMS Ltd)"
Perhaps make sure that you are using the correct parameter name and that the
datatype is a string value.
Using RB 7.03, I just created a simple test report and it works properly.
I created a single report param…
I still cannot duplicate this here. I create a new report. Added a Region
and the implemented the Region.OnPrint event by adding a single line of
code:
messagebeep;
I then returned to the Design workspace and de…
Can you specify exact steps to recreate the AV?
Using RB 7.03, I just created a simple report on the customers table. I
added a TppVariable to the report and coded the OnCalc event in RAP code.
Value := customer['Com…
Does TeeChart have the ability to calculate a required size?
The RB Chart component does not support this.
There are some components in RB that can stretch vertically across pages.
For example Memo and RichText.
Sorry, here is the correct URL...
http://www.digital-metaphors.com/tips/CalcUsingLookAheadValuesRAP.zip
--
Nard…
You can download an example from:
http://www.digital-metaphors.com/tips/UseLookAheadValuesInCalcProj.dpr
--
Nard Mos…
You never mentioned that you were trying to do this from the report preview.
This is not something that …