We are using Delphi 2009 and report builder 11.06 when we preview a report and click the email button and we get a blank page and no email is generated, any ideas ?
There is a patch that fixes the blank page issue. Contact support@digital-metaphors.com to receive the patch. Take a look at the article for a possible solution to "no email is generated".
Thanks for the update I will get the patch for the blank page but the Email problem does not seem to the the issue in the link it simply does nothing no error just a blank page. I am clicking the email button from the preview screen.
Are you using the MAPI plugin with Outlook? If so, do you have Outlook open when you click the email button? If so, try closing Outlook (or any other email client) and then try sending the email again. By default ReportBuilder suppresses all email errors. See the following article on how to expose these errors to possibly get some clues on what is happening.
Sorry to hijack this one, though I am Simon's colleague, not just some random!
The error appears to be that it can't find the PDF file to attach to the email. What we're currently doing is:
Saving the report to disk as .spl Loading that into a ppArchiveReader (ppArchiveReader.ArchiveFileName = .spl) ppArchiveReader.DeviceType = Screen ppArchiveReader.Print
This then brings up the preview form. Clicking 'Email' gives a delphi exception that it can't find the file to attach. It appears to be looking in:
c:\Documents and Settings\\LocalLow\Temp\Report.pdf
Which is, as far as I can tell, not something we're setting.
The user gets no error message, the only error is the exception in Delphi (FileNotFound).
So I suppose the question is: does SendMail create the PDF to be attached in a particular place and if so, how do we change where that location is?
Yes, you can use the Report.EmailSettings.FileName property to determine where the emailed file will be saved. If this property is left blank, the file is saved in the default temp location for Windows.
See the TppEmailSettings topic in the RBuilder help for more information.
Thanks Nico, but that's not working. If I set ppArchiveReader.EmailSettings.FileName it simply complains that it can't find the file with that name when the user presses the email button. It looks like it's not creating a physical copy of the file. Is that because that's something that has to be done manually? Do we have to manually create the PDF before the call to SendEmail? I was under the impression that SendEmail would create the PDF itself and then attach it to the email automatically.
Sorry to reply to myself, but I think this is a bug in ReportBuilder. I've just traced through the code and in ppEmail.pas, ProcessAndSend() the following code is run:
if not(lFileDevice = nil) then begin
ProcessFileName(FReport, lFileDevice);
FReport.TextFileName := FReport.EmailSettings.FileName; // FReport.Initialized is TRUE here FReport.ArchiveFileName := FReport.EmailSettings.FileName; // FReport.Initialized is FALSE here
{ export report to file } if (FReport.Initialized) then FReport.PrintWithSameParameters else FReport.Print; end
At the start of that block FReport.Initialized is TRUE, then as soon as FReport.AchiveFileName is set FReport.Initialized is set to FALSE and instead of PrintWithSameParameters being run, Print is run which seems not to export the file. If I remove the setting of the FReport.ArchiveFileName property then the email routine works as expected. ppProd's SetArchiveFileName includes a call to 'reset() and it's this that sets the Initialized property back to false.
The line FReport.ArchiveFileName := FReport.EmailSettings.FileName; is new in RB12 (I checked against 11.06 so it might be a later version of 11 that introduced it) and in fact sending email did work for us before we upgraded to RB12.
Comments
There is a patch that fixes the blank page issue. Contact
support@digital-metaphors.com to receive the patch. Take a look at the
article for a possible solution to "no email is generated".
http://www.digital-metaphors.com/rbWiki/Output/Email/Troubleshooting..._Cannot_Preview_Email
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
problem does not seem to the the issue in the link it simply does nothing no
error just a blank page. I am clicking the email button from the preview
screen.
Are you using the MAPI plugin with Outlook? If so, do you have Outlook open
when you click the email button? If so, try closing Outlook (or any other
email client) and then try sending the email again. By default
ReportBuilder suppresses all email errors. See the following article on how
to expose these errors to possibly get some clues on what is happening.
http://www.digital-metaphors.com/rbWiki/Output/Email/How_To...Show_Email_Errors
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
random!
The error appears to be that it can't find the PDF file to attach to the
email. What we're currently doing is:
Saving the report to disk as .spl
Loading that into a ppArchiveReader (ppArchiveReader.ArchiveFileName =
.spl)
ppArchiveReader.DeviceType = Screen
ppArchiveReader.Print
This then brings up the preview form. Clicking 'Email' gives a delphi
exception that it can't find the file to attach. It appears to be looking
in:
c:\Documents and Settings\\LocalLow\Temp\Report.pdf
Which is, as far as I can tell, not something we're setting.
The user gets no error message, the only error is the exception in Delphi
(FileNotFound).
So I suppose the question is: does SendMail create the PDF to be attached in
a particular place and if so, how do we change where that location is?
Thanks,
Steve Branley
Yes, you can use the Report.EmailSettings.FileName property to determine
where the emailed file will be saved. If this property is left blank, the
file is saved in the default temp location for Windows.
See the TppEmailSettings topic in the RBuilder help for more information.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
ppArchiveReader.EmailSettings.FileName it simply complains that it can't
find the file with that name when the user presses the email button. It
looks like it's not creating a physical copy of the file. Is that because
that's something that has to be done manually? Do we have to manually create
the PDF before the call to SendEmail? I was under the impression that
SendEmail would create the PDF itself and then attach it to the email
automatically.
Thanks,
Steve
just traced through the code and in ppEmail.pas, ProcessAndSend() the
following code is run:
if not(lFileDevice = nil) then
begin
ProcessFileName(FReport, lFileDevice);
FReport.TextFileName := FReport.EmailSettings.FileName;
// FReport.Initialized is TRUE here
FReport.ArchiveFileName := FReport.EmailSettings.FileName;
// FReport.Initialized is FALSE here
{ export report to file }
if (FReport.Initialized) then
FReport.PrintWithSameParameters
else
FReport.Print;
end
At the start of that block FReport.Initialized is TRUE, then as soon as
FReport.AchiveFileName is set FReport.Initialized is set to FALSE and
instead of PrintWithSameParameters being run, Print is run which seems not
to export the file. If I remove the setting of the FReport.ArchiveFileName
property then the email routine works as expected.
ppProd's SetArchiveFileName includes a call to 'reset() and it's this that
sets the Initialized property back to false.
The line FReport.ArchiveFileName := FReport.EmailSettings.FileName; is new
in RB12 (I checked against 11.06 so it might be a later version of 11 that
introduced it) and in fact sending email did work for us before we upgraded
to RB12.
Thanks,
Steve
Thanks for pointing this out. I created a patch that solves the issue.
Contact support@digital-metaphors.com if you would like the patch.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com