Notify Troubleshooting
RB 6.03
Hi I am trying to track down an error that I believe is related to the
Notify procedure in the ppComm unit.
I have noticed when I use a drill down report and I close the report. At
times I will get an access violation. It isn't consistent, and I was having
a hard time recreating the error. However I was finally successfull in
replicating it by opening the drill down report and clicking some drill
downs then closing the report. Doing this repeatedly eventually creates the
error.
When the Delphi IDE debugger when to the source line where the error occured
it was in the Notify procedure.
One think I tried to do to prevent this error is control the creation and
freeing of the TppReport component. However I think this made the error
more prevailant. I use the FreeAndNil method to clear the component. Is
there any other type of method I should use to clearing a report from
memory?
Bill
Hi I am trying to track down an error that I believe is related to the
Notify procedure in the ppComm unit.
I have noticed when I use a drill down report and I close the report. At
times I will get an access violation. It isn't consistent, and I was having
a hard time recreating the error. However I was finally successfull in
replicating it by opening the drill down report and clicking some drill
downs then closing the report. Doing this repeatedly eventually creates the
error.
When the Delphi IDE debugger when to the source line where the error occured
it was in the Notify procedure.
One think I tried to do to prevent this error is control the creation and
freeing of the TppReport component. However I think this made the error
more prevailant. I use the FreeAndNil method to clear the component. Is
there any other type of method I should use to clearing a report from
memory?
Bill
This discussion has been closed.
Comments
close my application I get another access violation. So something is trying
to be cleared out of memory that doesn't exist.
Bill
I have created my own custom viewer. And when I click a button to size the
display and then quickly leave close the preview of the report. I get the
same access violation.
So I am narrowing down the cause to the actual refresh of the report.
Bill
Are you able to recreate the issue without using your custom viewer? There
are no known issues of this kind with the TppCommunicator. You might try
downloading a trial edition of RB 7.03 and testing with that.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
One thing that may narrow down the cause.
I have found that when I get the access violation and I am looking where the
IDE has stopped. I place my mouse cursor over the FNotifyList variable and
I get and inaccessable message. I place my cursor over the aCommunicator
variable and I see that the object the aCommunicator is referencing is a
Variable component in my report that I have a RAP function to calculate it's
value.
stopped here>>> if (FNotifyList <> nil) then
begin
FNotifyList.Remove(aCommunicator);
end;
So the only thing I can think of is that the Variable is still trying to do
its calculation while the report is being freed.
Is there any way I can detect if the report is done doing any calculations
before I free it?
Bill
created a report that has drill downs like in my applicaiton. However this
brought up another question.
I saved the template for the drill down report to a file, so I can create
new report component at run time and load this template into that report.
However when I do this all the drill downs are expanded and there is not
region to click to collapse them.
So I loaded the saved template into a new TppReport at design time and even
in this report the drill down setup is lost.
How do I save drill down settings to a file template?
Bill
I.ve got this random exception on the TppCommunicator.Notify, also.
It looks like the component is freeing a object that's already destroyed.
I'm unable to figure out what is causing this error.
Sometimes i get the error after the 1st print, and sometimes after, say, the
3th print.
I'm using Delphi 6 and RP6.03
Hope that someone can point me in the right direction.
Thanks in advance,
Marcel
--
Vendit BV
http://www.vendit.nl/ (Bedrijfs site)
http://www.vmsii.nl/ (VMSII support site)