Upgrade from RB 12.05 to RB 18 B2
Hi there,
I have some strange problem with upgrade. Not so long ago we purchased
the new ReportBuilder 15 (Build 201) and as usually I have uninstalled
previous version and installed new version, added my translation files
(Slovenian), deleted all DCU's and then rebuild our major application
for first test drive.
More or less all reports do work without any need to convert except for
one particular part of the program. We have to print out some special
medical forms and for this there are about 10 different reports which
all of them get loaded through same procedure and then get printed. But
only a couple of them do get printed without any problems while the
rest freeze a program in such way that even MadExcept does not find the
application freezed. The report preview gets on the screen, background
is gray (not white as paper), in the left bottom edge there is
inscription Accessing data and that's it. I can't click anywhere, not
even on button Cancel.
The data is organized as such:
Master pipeline - Detail Pipeline 1 (connected to Master)
- Detail Pipeline 2 (connected to Master)
All three datasets have same fields in all cases, Detail pipeline 2
could be empty or not, depending on the report. In any case,
Master+Detail1 are always full, also tested in these cases. What is
even more strange is that if I load completely empty report with one
non-data aware label instead of one faulty report, RB still gets stuck.
Any ideas? Did anyone has experience similar problem, maybe with RB14?
With Best regards,
Goran Brumen
AUDAX d.o.o.
I have some strange problem with upgrade. Not so long ago we purchased
the new ReportBuilder 15 (Build 201) and as usually I have uninstalled
previous version and installed new version, added my translation files
(Slovenian), deleted all DCU's and then rebuild our major application
for first test drive.
More or less all reports do work without any need to convert except for
one particular part of the program. We have to print out some special
medical forms and for this there are about 10 different reports which
all of them get loaded through same procedure and then get printed. But
only a couple of them do get printed without any problems while the
rest freeze a program in such way that even MadExcept does not find the
application freezed. The report preview gets on the screen, background
is gray (not white as paper), in the left bottom edge there is
inscription Accessing data and that's it. I can't click anywhere, not
even on button Cancel.
The data is organized as such:
Master pipeline - Detail Pipeline 1 (connected to Master)
- Detail Pipeline 2 (connected to Master)
All three datasets have same fields in all cases, Detail pipeline 2
could be empty or not, depending on the report. In any case,
Master+Detail1 are always full, also tested in these cases. What is
even more strange is that if I load completely empty report with one
non-data aware label instead of one faulty report, RB still gets stuck.
Any ideas? Did anyone has experience similar problem, maybe with RB14?
With Best regards,
Goran Brumen
AUDAX d.o.o.
This discussion has been closed.
Comments
Hi,
to add some additional clarification. Data is in ClientDataSets and is
fed to RB through standard TDataSource - TppDBPipeline. Function for
printing (after all data is updated in CDS's) is:
function Print(AFileName: String; ALeft, ATop: extended): boolean;
begin
Result := False;
with ppObrazec do
begin
Template.FileName := AFileName;
Template.LoadFromFile;
if glDebug then
DeviceType := 'Screen'
else
DeviceType := 'Printer';
AllowPrintToFile := False;
PreviewFormSettings.WindowState := wsNormal;
//PreviewFormSettings.WindowState := wsMaximized;
//PreviewFormSettings.ZoomSetting := zs100percent;
SavePrinterSetup := True;
OnPrintDialogClose := ppObrazecPrintDialogClose;
PrinterSetup.PrinterName := glObrazciSkup.PrinterName;
PrinterSetup.BinName := glObrazciSkup.PrinterBin;
PrinterSetup.MarginLeft := ALeft;
PrinterSetup.MarginTop := ATop;
PDFSettings.ScaleImages := False;
Print;
Result := True;
end;
end;
We use Delphi XE Enterprise with all updates, Windows 8 x64 8 GB RAM,
ReportBuilder 15.0 Build 201.
Best regards,
Goran
As a test, try setting the Report.PreviewFormSettings.SinglePageOnly
property to True and see if that solves the issue.
This disables the new threading architecture used for multi-page
previewing which may cause a conflict with that section of your application.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Fortunatelly these forms are more or less single page and I can leave
this property in the code.
If You need data to find a solution, I can send You CDS XML data by
mail.
Thank You and best regards,
Goran
This issue likely has nothing to do with the data itself. The threading
architecture is constantly sending and receiving windows messages which
can conflict with your application's other components.
If for instance you have some data-aware Delphi components connected to
the same datasets as the report, this can cause issues. To work around
this you can either keep all report datasets separate from other
components or you can try disabling the controls using the
DisableControls call before calling Print.
DataSet.DisableControls;
try
Report.Print;
finally
Dataset.EnableControls
end;
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com