Access Violation on Some Computers
I am using Delphi 10.3 Rio with RB 19.04. On certain computers, an Access Violation happens on all my reports. They seem to be Windows 7 computers, but some Windows 7 computers work just fine. I am having to roll customers back to the previous version of my software using an older version of Report Builder. Is this a known issue?
Comments
We need more information about this specific AV in order to track down the issue. When does the AV occur? Are you able to trace into the RB source when the AV happens? Are you able to recreate this AV with a simple application?
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Error in fmRep1u.PrintForm at address 016E22BF in module 'Cap.exe'.
Read of address 0000001C.
Cap.exe is my application. I am not using packages.
fmRep1u.PrintForm is my form which holds all the pipelines, Report and Designer component, and it calls Print.
My first suggestion would be to set the Report.PreviewSettings.SinglePageOnly property to True and see if that helps the issue. It's possible the ThreadedPageCache mixed with another aspect of your app is causing the problem.
Beyond that, without a way to recreate the problem or a call stack, it will be extremely difficult to track down.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I notice that I can access the report designer fine. I can load reports into the designer fine. When I click the preview tab in the designer, I get the access violation.
Any ideas would be greatly appreciated. I really need to resolve this problem.
I had a routine that sets the email variables on all the reports for emailing. I had a call that did the following:
if (EmailTLSFlag='') or (EmailPort=25) then
TppSMTPIndy(wEmail.SMTP).IndySMTP.UseTLS:=utNoTLSSupport
else ... ;
For this to work, I had to assign wEmail like this:
wEmail:=TppEmail(Rep.Email);
Problem is that somehow this statement got moved to the else portion and never got called is TLS was not specified, thereby creating an access violation on this statement. The error did not appear on most machines because email variables were setup on them to use TLS and so this statement was never called.