PDF export error with TRichView component (15.02)
I've got a report with a TdbRichView Component on it and if any data is
displayed by the control (i.e. not empty) then when exporting to PDF I
get an error (see below). However works fine if exporting to RTF, so I'm
guess that the problem is in RB, not the third party RCL? Go wrong on
Windows XP and Windows 7
exception class : EAccessViolation
exception message : Access violation at address 004A564F in module
'HireTrackNX.exe'. Read of address 0000000C.
main thread ($be0):
004a564f +0003 HireTrackNX.exe Graphics TCanvas.SetFont
00e27800 +0008 HireTrackNX.exe ppPDFUtils 430 +2
TppPDFUtils.PopulateTextMetric
00e2b93c +0050 HireTrackNX.exe ppPDFCanvas 1506 +10
TppPDFCanvas.WriteFont
00e2a52b +0043 HireTrackNX.exe ppPDFCanvas 881 +2
TppPDFCanvas.JustifyText
00e2a8b4 +0060 HireTrackNX.exe ppPDFCanvas 955 +2
TppPDFCanvas.TextOut
00e5d115 +01e1 HireTrackNX.exe ppMetaGraphicsPDF 1233 +40
TppMetaGraphicsPDF.TextRect
00dec6cf +1437 HireTrackNX.exe ppMetaFileReader 1584 +901
TppMetaFileReader.ProcessMetaRecord
00de9bab +000f HireTrackNX.exe ppMetaFileReader 120 +3 cbReadMetaFunc
77f2051c +0000 GDI32.dll EnumEnhMetaFile
00de9d0f +0067 HireTrackNX.exe ppMetaFileReader 185 +7
TppMetaFileReader.Execute
00e5da1e +0236 HireTrackNX.exe ppPDFRendererImage 257 +45
TppPDFRendererImage.CreateMetaFile
00e5e2bc +0084 HireTrackNX.exe ppPDFRendererImage 468 +15
TppPDFRendererImage.RenderToPDF
011667cc +0124 HireTrackNX.exe ppPDFRendererRV 113 +28
TppPDFRendererRichView.RenderToPDF
00e61e0e +009e HireTrackNX.exe ppPDFDevice 499 +16
TppPDFDevice.DrawToPage
00e61c52 +010e HireTrackNX.exe ppPDFDevice 449 +27
TppPDFDevice.SavePageToFile
00e9b518 +0064 HireTrackNX.exe ppFilDev 1055 +17
TppFileDevice.ReceivePage
00e61b3c +0000 HireTrackNX.exe ppPDFDevice 407 +0
TppPDFDevice.ReceivePage
00d13e8c +00b4 HireTrackNX.exe ppDevice 1021 +26
TppPublisher.TakeDeviceAction
00d141c8 +0018 HireTrackNX.exe ppDevice 1250 +6
TppPublisher.ReceivePage
00dc7c82 +0016 HireTrackNX.exe ppReport 2204 +2
TppReport.PageSent
00e46ce9 +0015 HireTrackNX.exe ppClass 10880 +1
TppCustomEngine.DoOnPageSent
00d437ca +01b6 HireTrackNX.exe ppEngine 1844 +33
TppEngine.SendPage
00d431b1 +01b5 HireTrackNX.exe ppEngine 1614 +67
TppEngine.FinishPage
00d41fa7 +021b HireTrackNX.exe ppEngine 752 +85
TppEngine.GeneratePage
00d420ef +00e3 HireTrackNX.exe ppEngine 837 +52
TppEngine.RestorePage
00d41c19 +0049 HireTrackNX.exe ppEngine 576 +25
TppEngine.Generate
00d41b38 +010c HireTrackNX.exe ppEngine 524 +39
TppEngine.RequestPage
00dc7b58 +00e0 HireTrackNX.exe ppReport 2126 +25
TppReport.RequestPage
00d14331 +0055 HireTrackNX.exe ppDevice 1326 +10
TppPublisher.DoOnPageRequest
00d140d7 +0063 HireTrackNX.exe ppDevice 1133 +16
TppPublisher.Publish
00e8497e +0006 HireTrackNX.exe ppProd 1636 +0
TppProducer.PublishReport
00e84a57 +007f HireTrackNX.exe ppProd 1703 +13
TppProducer.PrintToDevices
00dc7a3e +007e HireTrackNX.exe ppReport 2086 +16
TppReport.PrintToDevices
0131ea60 +018c HireTrackNX.exe nxReportingCommonU 2063 +44
TrbReporting.ExportToFile
displayed by the control (i.e. not empty) then when exporting to PDF I
get an error (see below). However works fine if exporting to RTF, so I'm
guess that the problem is in RB, not the third party RCL? Go wrong on
Windows XP and Windows 7
exception class : EAccessViolation
exception message : Access violation at address 004A564F in module
'HireTrackNX.exe'. Read of address 0000000C.
main thread ($be0):
004a564f +0003 HireTrackNX.exe Graphics TCanvas.SetFont
00e27800 +0008 HireTrackNX.exe ppPDFUtils 430 +2
TppPDFUtils.PopulateTextMetric
00e2b93c +0050 HireTrackNX.exe ppPDFCanvas 1506 +10
TppPDFCanvas.WriteFont
00e2a52b +0043 HireTrackNX.exe ppPDFCanvas 881 +2
TppPDFCanvas.JustifyText
00e2a8b4 +0060 HireTrackNX.exe ppPDFCanvas 955 +2
TppPDFCanvas.TextOut
00e5d115 +01e1 HireTrackNX.exe ppMetaGraphicsPDF 1233 +40
TppMetaGraphicsPDF.TextRect
00dec6cf +1437 HireTrackNX.exe ppMetaFileReader 1584 +901
TppMetaFileReader.ProcessMetaRecord
00de9bab +000f HireTrackNX.exe ppMetaFileReader 120 +3 cbReadMetaFunc
77f2051c +0000 GDI32.dll EnumEnhMetaFile
00de9d0f +0067 HireTrackNX.exe ppMetaFileReader 185 +7
TppMetaFileReader.Execute
00e5da1e +0236 HireTrackNX.exe ppPDFRendererImage 257 +45
TppPDFRendererImage.CreateMetaFile
00e5e2bc +0084 HireTrackNX.exe ppPDFRendererImage 468 +15
TppPDFRendererImage.RenderToPDF
011667cc +0124 HireTrackNX.exe ppPDFRendererRV 113 +28
TppPDFRendererRichView.RenderToPDF
00e61e0e +009e HireTrackNX.exe ppPDFDevice 499 +16
TppPDFDevice.DrawToPage
00e61c52 +010e HireTrackNX.exe ppPDFDevice 449 +27
TppPDFDevice.SavePageToFile
00e9b518 +0064 HireTrackNX.exe ppFilDev 1055 +17
TppFileDevice.ReceivePage
00e61b3c +0000 HireTrackNX.exe ppPDFDevice 407 +0
TppPDFDevice.ReceivePage
00d13e8c +00b4 HireTrackNX.exe ppDevice 1021 +26
TppPublisher.TakeDeviceAction
00d141c8 +0018 HireTrackNX.exe ppDevice 1250 +6
TppPublisher.ReceivePage
00dc7c82 +0016 HireTrackNX.exe ppReport 2204 +2
TppReport.PageSent
00e46ce9 +0015 HireTrackNX.exe ppClass 10880 +1
TppCustomEngine.DoOnPageSent
00d437ca +01b6 HireTrackNX.exe ppEngine 1844 +33
TppEngine.SendPage
00d431b1 +01b5 HireTrackNX.exe ppEngine 1614 +67
TppEngine.FinishPage
00d41fa7 +021b HireTrackNX.exe ppEngine 752 +85
TppEngine.GeneratePage
00d420ef +00e3 HireTrackNX.exe ppEngine 837 +52
TppEngine.RestorePage
00d41c19 +0049 HireTrackNX.exe ppEngine 576 +25
TppEngine.Generate
00d41b38 +010c HireTrackNX.exe ppEngine 524 +39
TppEngine.RequestPage
00dc7b58 +00e0 HireTrackNX.exe ppReport 2126 +25
TppReport.RequestPage
00d14331 +0055 HireTrackNX.exe ppDevice 1326 +10
TppPublisher.DoOnPageRequest
00d140d7 +0063 HireTrackNX.exe ppDevice 1133 +16
TppPublisher.Publish
00e8497e +0006 HireTrackNX.exe ppProd 1636 +0
TppProducer.PublishReport
00e84a57 +007f HireTrackNX.exe ppProd 1703 +13
TppProducer.PrintToDevices
00dc7a3e +007e HireTrackNX.exe ppReport 2086 +16
TppReport.PrintToDevices
0131ea60 +018c HireTrackNX.exe nxReportingCommonU 2063 +44
TrbReporting.ExportToFile
This discussion has been closed.
Comments
TRichView uses its own custom drawcommand to handle rendering which we
do not have access to.
The best way to track down TRichView issues is to create a simple demo
for the TRichView support team and send it to them. They will then find
the problem and (if it relates to a ReportBuilder issue) contact us with
further details.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Thanks, that's all I needed to know. Will check with them now.