nardmoseley
Comments
-
Yes, pass the report instance to the function as a parameter. By default the
pass-thru functions do not have access to the Report instance.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
-
Definitely a mystery. Perhaps dues to an issue with a prior release. Using
RB 11.06, you might try deleting and then re-adding the Report.Parameter for
the existing report that has the error.
--
Nard Moseley
D… -
It works correctly in my testing here. In re-reading this thread I notice
you are using 11.05, try updating to 11.06.
In my testing, I used ElevateDB with RB 11.06 and D2007.
I ran the Demos\EndUser Databases\Elevat… -
The feature is not dependent upon any particular database engine. ElevateDB
will work great.
The feature requires you to first define the Report.Parameter and configure
the Parameter with a DataType, Name, and default Va… -
RB 11 enables you to use bind a parameter to manually edited SQL by using
:ParameterName notation. At run-time RB will be automatically replace the
:ParameterName with the paramter value.
Example:
1. Define a … -
The form/datamodule upon which the TppReport component resides should be the
Owner of the report, bands, labels, etc. (This is Delphi standard for
TComponent descendants).
The Owner is passed to the constructor. (This is… -
This feature is working as designed. The RAP global OnCreate should only
fire a single time. Firing multiple times was a bug reported long long ago
and caused memory leaks and broken code.
--
Nard Moseley
Digi… -
Try using the DBDemos data to create a simple example project that
demonstrates the issue. Send in zip format to support@digital-metaphors.com
and we can research it here.
--
Nard Moseley
Digital Metaphors
The timing of RAP Global OnCreate and OnInitializeParameters is almost
identical. See ppReport.pas, the method TppReport.InitializeParameters. The
OnCreate is fired, followed immediately by OnInitializeParameters.
…
Memo.Lines is of type TStrings.
So the simplest syntax is
myMemo2.Lines.Text := myMemo1.Lines.Text;
The above will work for Delphi code and RAP code.
Within a report or childreport you can reference …
This is a DADE issue, not a RAP issue.
There is now a patch available for RB 11.06 that optimizes this partia…This is being researched, I will post a follow up here.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Currently the RAP source is stored as plain text, there is no parsing, no
concept of objects. Therefore such a change would be a big departure from
the current implementation.
I will put this on the list of requested fea…
Data-aware controls such as DBText are bound using the DataField property -
which is a field name. To be more user friendly, the Designer displays the
FieldAliases in the format toolbar.
When writing code, the DataPipeli…Learning ReportBuilder RAP..see the bottom of this page
http://www.digital-metaphors.com/download/learning_reportbuilder.html
Please do not crosspost. Please see my reply to your thread in General.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
I'm not clear on the question, but thought I would add that the Report and
ChildReport classes have a NoDataBehaviors property that can be used to
control what happens when the DataPipeline is empty.
--
Nard …
I have not tried this, but perhaps try using the StringList.CommaText
property like this...
ppReport1.Parameters['MyParam'].Value := myStringList.CommaText;
and then inside RAP, create a local string list and do th…There was a bug fix to allow self-joins.
You should be calling SQLBuilder.Clear if you want to clear the existing SQL
definition.
SQLBuilder := TdaSQLBuilder.Create(Report.Datapipeline);
SQLBuilder.Clear; // cl…
The RAP demos installed with the product include examples that use the
TraProgram BodyText and Source properties. Check out examples 41 and 42 of
the main RAP demo. Moving beyond the demos rbWiki is great resource.
To get a simple count you can use the DBCalc component and set to the
CalcType to ctCount
or
Use a Variable and increment the Value like this
Variable.Value := Variable.Value + 1;
You cannot us…The TppVariable and the TppVariable.OnCalc event must be used to perform
calculations. The Developers Guide has a tutorial on performing
calculations. Additional examples can be found in the the demo and on
rbWiki. Here is an overv…Here is a relevant rbWiki 'How To'
http://www.digital-metaphors.com/rbWiki/RAP/Fundamentals/How_To...Modify_RAP_Program…
I will add your request for an Exit command to our requested features list.
A better solution to your issue is to keep the RAP event-handler code short
and optimize RAP by creating custom pass-thru functions. The pass-thru
This question is already being researched via email. Please post questions
to a single destination. Use the newsgroups or email but not both.
The main report has a Report.Parameters[ ] property
ChildReports (ie. subreport.Report) do /not/ have a Parameters property.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Starting with RB 11, you can define Report.Parameters[ ] that optionally
have AutoSearchSettings and LookupSettings. You can also use the Query
Designer to bind a search condition to a Parameter. For the SQL to generate
corre…Jason,
There information in the Developers Guide tutorials on extending RAP with
additional RTTI and custom functions. Working demos and tutorials are also
installed with the product.
Going I recommend updating to R…RB 12 introduces support for using the FieldAlias or the FieldName
Value := DataPipeline['FieldAlias or FieldName'];
Prior to RB 12, you would need extend RAP with a custom pass-thru function
as you propose.