AVs and "The outline participant does not support the IppOutlineParticipant interface"
Something is not right with RB 7.02. After I upgraded from 6.03, some of my
most advanced reports are broken - I get Access Violation errors once I try
to preview them.
The problem seems to apply only to reports that dynamically load subreports
which in turn have their own (fixed) subreports. (I use a custom component
based on the code in the "RBuilder\Demos\3. EndUser\5. Dynamic Subreport
Loading" directory.)
I think the error has something to do with the new outline concept, because
occasionally I get this error message instead of the AV:
"TppOutline.CreateNodeCreator: The outline participant does not support the
IppOutlineParticipant interface"
I have also seen "Canot focus a disabled window".
I get the impression that outlining is disabled for these old converted
reports, but I have also tried to programatically set
Report.OutlineSettings.Enabled := false
before and after Report.loadfromdatabase. But to no avail.
How to get my old reports to work again? Could there be a bug with the RB
outline system, or something new that has to be added to my dynamical
subreport component, to take care of outline support with nested subreports?
Note that I do not need the outline system at all, I upgraded to RB7 for the
bug fixes only...:\
--
Mvh/regards
Svein Olav Mytting
Bogstadvn 60A, 0366 Oslo
most advanced reports are broken - I get Access Violation errors once I try
to preview them.
The problem seems to apply only to reports that dynamically load subreports
which in turn have their own (fixed) subreports. (I use a custom component
based on the code in the "RBuilder\Demos\3. EndUser\5. Dynamic Subreport
Loading" directory.)
I think the error has something to do with the new outline concept, because
occasionally I get this error message instead of the AV:
"TppOutline.CreateNodeCreator: The outline participant does not support the
IppOutlineParticipant interface"
I have also seen "Canot focus a disabled window".
I get the impression that outlining is disabled for these old converted
reports, but I have also tried to programatically set
Report.OutlineSettings.Enabled := false
before and after Report.loadfromdatabase. But to no avail.
How to get my old reports to work again? Could there be a bug with the RB
outline system, or something new that has to be added to my dynamical
subreport component, to take care of outline support with nested subreports?
Note that I do not need the outline system at all, I upgraded to RB7 for the
bug fixes only...:\
--
Mvh/regards
Svein Olav Mytting
Bogstadvn 60A, 0366 Oslo
This discussion has been closed.
Comments
outline is disabled. When enabling the outline, there is the correct message
in that drill down is not supported, which is the case in our demos because
they are drill down. I changed a demo to be a non-drill down subreport and
changed the layout so that the subreport is fixed style and it the outline
worked correctly. At first, the default is to not show the outline. Then
after enabling it, the outline showed the nodes correctly for the report.
Could you send a minimal demo which has a simple dynamic subreport and shows
the problem to support@digital-metaphors.com and a description of how to
reproduce the problem. What does your subreport class descend from?
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
easily reproduced using the sample code that comes with RB 7.02. No code
changes are needed:
1. Edit the myTitleTemplate.rtm of the "Dynamic Supreport Loading" demo
project. Give the company name a new color that you recognize. Add a
standard subreport component that covers about the top half of the detail
band. Move the company name and address to this subreport. Preview to check
that you still have a complete working template. Save and close template.
2. Open and run the "Dynamic Subreport Loading" demo project. Preview the
Header report, or the title-header-footer report. You should get an Access
Violation error.
3. Result should be the same if you edit myTitleTemplate in the database
(adjusting the settings INI file accordingly), rather than the one in the
.rtm file.
Using Delphi 6up2, RB 7.02 Enterprise, Windows XP. The above used to work
fine under RB6.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
Modify these two routines to look like this and retest:
procedure TmyDynamicLoadingSubReport.LoadSubreport;
begin
if (Band is TppTitleBand) then
LoadTitleSubreport
else if (Band is TppHeaderBand) then
LoadHeaderSubreport
else if (Band is TppFooterBand) then
LoadFooterSubreport;
end; { procedure, LoadSubreport }
procedure TmyDynamicLoadingSubReport.StartOfMainReport;
begin
if (AutomatedLoad) and not(Overflow) then
LoadSubreport;
inherited StartOfMainReport;
end; { procedure, StartOfMainReport }
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com