Re: AV after Update from 6.02 --> 6.03
I have deinstalled the ReportBuilder by exactly following the instructions
and installed RB again.
The problem persists.
The first time I call the TppReport.Print method the (DeviceType = dtScreen)
the PrintPreview is shown normal. After closing the PrintPreview and trying
to open it again the AV occurs.
Before calling the TppReprt.Print method we do the follwing:
Initializing
- creating a variable amount of TIBQuery and TppDBPipelines dynamically
- TppReport.Template.ResetDevices
- TppReport.Template.Reset
- TppReport.Template.LoadFromFile
- TppReport.Printer.Initialize
Opening Datasets
- Setting AutoCreateFields of all TppDBPipeLines to True
- Open all Querys with Unidirectional-prop set to True
... then we call Print (ModalPreview is set to True)
after closing the PrintPreview we do the following
- close all Querys
- set AutoCreateFields of all TppDBPipeLines to False
- Free all dynamically created components (TIBQuerys and TppDBPipeLines)
- TppReport.ResetDevices
- TppReport.Reset
Debugging the code I've found the following snippet. The AV occurs when
calling "lDataPipeline.CheckLinkedData", "lDataPipeline.IsLinked".
{ TppDataPipeline.CheckDetailData }
function TppDataPipeline.CheckDetailData: Boolean;
var
liIndex: Integer;
lDataPipeline: TppDataPipeline;
begin
if (FDetailPipelines = nil) or not(FDetailSkip) then
Result := True
else
begin
Result := False;
{check all details, to see if any have data}
liIndex := 0;
while not(Result) and (liIndex < FDetailPipelines.Count) do
begin
lDataPipeline := TppDataPipeline(FDetailPipelines[liIndex]);
// Here!
if (ppdaNoRecords in lDataPipeline.State) or
(lDataPipeline.IsLinked and (lDataPipeline.CheckLinkedData <>
0)) then
Inc(liIndex)
else
Result := True;
end;
end;
end; {function, CheckDetailData}
Thanks
===============================END of MESSAGE =======================
and installed RB again.
The problem persists.
The first time I call the TppReport.Print method the (DeviceType = dtScreen)
the PrintPreview is shown normal. After closing the PrintPreview and trying
to open it again the AV occurs.
Before calling the TppReprt.Print method we do the follwing:
Initializing
- creating a variable amount of TIBQuery and TppDBPipelines dynamically
- TppReport.Template.ResetDevices
- TppReport.Template.Reset
- TppReport.Template.LoadFromFile
- TppReport.Printer.Initialize
Opening Datasets
- Setting AutoCreateFields of all TppDBPipeLines to True
- Open all Querys with Unidirectional-prop set to True
... then we call Print (ModalPreview is set to True)
after closing the PrintPreview we do the following
- close all Querys
- set AutoCreateFields of all TppDBPipeLines to False
- Free all dynamically created components (TIBQuerys and TppDBPipeLines)
- TppReport.ResetDevices
- TppReport.Reset
Debugging the code I've found the following snippet. The AV occurs when
calling "lDataPipeline.CheckLinkedData", "lDataPipeline.IsLinked".
{ TppDataPipeline.CheckDetailData }
function TppDataPipeline.CheckDetailData: Boolean;
var
liIndex: Integer;
lDataPipeline: TppDataPipeline;
begin
if (FDetailPipelines = nil) or not(FDetailSkip) then
Result := True
else
begin
Result := False;
{check all details, to see if any have data}
liIndex := 0;
while not(Result) and (liIndex < FDetailPipelines.Count) do
begin
lDataPipeline := TppDataPipeline(FDetailPipelines[liIndex]);
// Here!
if (ppdaNoRecords in lDataPipeline.State) or
(lDataPipeline.IsLinked and (lDataPipeline.CheckLinkedData <>
0)) then
Inc(liIndex)
else
Result := True;
end;
end;
end; {function, CheckDetailData}
Thanks
===============================END of MESSAGE =======================
This discussion has been closed.