BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Delphi win32 and Crystal Reports - Future Plans?

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Reporting-Charting
View previous topic :: View next topic  
Author Message
Patrick Hartnett
Guest





PostPosted: Tue May 15, 2007 11:25 pm    Post subject: Delphi win32 and Crystal Reports - Future Plans? Reply with quote



We've been using Crystal Reports for a long time with Delphi, largely
because the ERP apps we also resell and write a lot of our custom software
to work with use it so it is a tool our customers already use, so there are
no additional licensing costs for them, and no new learning / training
curves, etc.

Looking ahead: Business Objects/Crystal Reports has now deprecated both the
RDC, the VCL/Crpe32.DLL Access method, and is providing only java or .NET
solutions after CR 11, what does the Delphi Community see as their option
for developing Win32 applications using Delphi & Crystal? We don't want to
use .NET as we don't have the time or resources to change our applications
over when this is the only reason for doing so...Per BO/Crystal, our only
choices are Java or .NET...

Here's my gripe:
We use the VCL component for integration, which up through 8.5, was great.
We went from using CR8.5 exclusively, to using CR10 due to changes with the
ERP software, and have had nothing but issues since. Since moving from
VCL8.5 to VCL10, we have found little, if any, happiness in using Crystal
Reports from Delphi.
Our main issue is with changing the database locations (Access, Direct
Access Btrieve/Pervasive, xBase data tables for the most part) at runtime
within a report. In 8.5, you could easily accomplish this via several
methods, we were able to scan and modify the Path parameter for the
individual tables to point to a new table, and it always worked, without
question.
VCL10 leaves much to be desired, as
1) the path is usually not populated for a table
2) sometimes, depending on the report, the Table Name was populated with a
full path, othertimes, not so much...
3)Per Crystal Support, we added functionality to adjust the
Table.ConnectBuffer property, works sometimes, but not always, depending on
the report, the database in use, and how the report was created (not
necessarily how it was last saved as we found out (8.5 rpt upgraded to 10,
9.0 rpt upgraded to 10, created in 10...the list goes on))
4)Installation - Merge modules, while nice in theory, in this case suck. For
one, the merge modules from BO don't have all of the necessary dlls
(crpe32.dll comes to mind...), the dlls that are included are not the right
versions for use with some of the VCL calls (crqe.dll v10.0.5.882 causes
access violations when you try repathing, wheras .877 seems to correct the
access violations, but still has its own issues) and others i can't remember
off the top of my head

Troubleshooting Crystal Reports has become way to much of a resource hog
since we moved to Crystal 10, and I'm now looking around trying to determine
where to go from here.

If someone has a magic bullet, tried and tested solutions, or anything that
might help, please, i'm all ears...

-Patrick
Back to top
Gert de Boom
Guest





PostPosted: Wed May 16, 2007 2:26 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote



Quote:
Looking ahead: Business Objects/Crystal Reports has now deprecated both
the
RDC, the VCL/Crpe32.DLL Access method, and is providing only java or .NET
solutions after CR 11, what does the Delphi Community see as their option
for developing Win32 applications using Delphi & Crystal?

Currently I am using the RDC/ActiveX viewer components. Both created at
runtime, so I don't have to import type libraries, etc. Using the runtime
also allows me to use the mergemodules to distribute the application. Using
the Connection Properties it is "easy" to change the database location. E.g.
for Paradox:

for i := 1 to CRReport.Database.Tables.Count do
begin
varStr := CRReport.Database.Tables[i].ConnectionProperties.Item['Data
File'];
varStr.Value := ExtractFilePath(Application.ExeName) +
ExtractFileName(varStr.Value);
CRReport.Database.Tables[i].ConnectionProperties.Item['Data File'] :=
varStr.Value;
end;

Quote:
If someone has a magic bullet, tried and tested solutions, or anything
that
might help, please, i'm all ears...

Not a magic bullet, but changing from VCL to RDC was a decent solution for
me (although Crystal still has some disadvantages).

However, it would be nice if CodeGear was able to convince Business Objects
to continue the RDC for some more versions of Crystal Reports. Surely there
must be some contact between the companies after they added Crystal to the
..NET version of Delphi.

Otherwise the solution will be to use the .NET interop functionality to
include the .NET runtime in a WIN32 application. I think this could work
because most desktops will already have the .NET runtime installed (it would
be nice if either CodeGear or Crystal could deliver the component for this
solution). Another solution could be to use the Crystal server and the
Crystal webviewer in a browser component embedded in a Delphi panel.

Gert
Back to top
Patrick Hartnett
Guest





PostPosted: Wed May 16, 2007 3:21 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote



Thanks for the tips, I've already started looking into the RDC (.NET Interop
will be googled later too) , I'll be testing the RDC tonight hopefully to
see if that will carry us through until our customers move past the crystal
version that allows use of the RDC as well. Does the ActiveX require the
same administrative rights to the local computer when
installing/registering?(as you need when installing the merge
modules...unless someone has a way around that...)

I agree with you that CodeGear needs to step up here. .NET is not an option
for everyone, or every application, some assistance in re-developing not
only a good relationship, but also a good component or set of components for
integration would go a long way toward providing both Crystal and CodeGear
more customers, and higher satisfaction for said customers. I won't hold my
breath though, everyone i've talked to at Business Objects just laughs and
asks why we don't use .NET followed by "Isn't Delphi Dead?" While I've
looked at the crystal server / web server option, I have to say that most of
the small business customers I know simply won't fork over 10K just for
reporting access. We have our own solution to provide a lot of the same
distribution functionality for our clients at 1/10th the cost, though
maintaining it and keeping it working without fail in all situations for all
reports has gotten tougher with some of the issues i mentioned in repathing
the data tables in reports for our custom side.

*Gert: Thanks for all the forum posts, website tips, and everything else
you've contributed to the community too, your name comes up frequently when
troubleshooting
Back to top
Doug
Guest





PostPosted: Wed May 16, 2007 4:07 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

The best solution seems to be to use a TWebBrowser object in
your Delphi app and navigate to either a web app of your
design or a Crystal Enterprise server which in either case
returns the Crystal ActiveX viewer to the browser. We had a
lot of issues with both the VCL and RDC approaches, and
although we got both working, there were performance issues
(very slow) and, at least in the case of RDC, a lot of dlls
to manage. Using TWebBrowser, all of the upgrade and
integration troubles are external to your app and centrally
located, and the performance is excellent. As you mention,
the downside of course is that you have to have a web server
available to host the reports, but we saw this as a potential
advantage since the data and its presentation were both made
completely autonomous from the application. This arrangement
led to the development of further stand-alone reports that
were used for data analysis, etc. Another possible, but
manageable downside is that you may need to monitor the
Crystal activeX viewer events and/or pass it commands from
the TWebBrowser parent. This is all doable, but it requires
some effort to figure it out the first time through.

Doug
Back to top
Patrick Hartnett
Guest





PostPosted: Thu May 17, 2007 8:12 pm    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

RDC looks promising from the documentation and your notes in the code, thank
you for the tip.

I'm trying to work with the ActiveX, but I'm running into some issues with
the initial setup...
1) Is it compatible with Delphi2005?
2) For Delphi2005, have you run across an install/setup guide for using
this? I know you said you were doing this at runtime, but I have limited
experience on the ActiveX side, and am not completely clear on the steps to
take to do this and avoid doing the installs for the IDE. I'm reading up on
the topic right now, but if you have the time or a good reference, any
insight would be appreciated.

On another note, I've also started a discussion with Nick Hodges regarding
Business Objects/Crystal and the future of Win32 integration going
forward...

"Gert de Boom" <(ask for it; spam prevention)> wrote in message
news:464a25ba (AT) newsgroups (DOT) borland.com...
Quote:
Looking ahead: Business Objects/Crystal Reports has now deprecated both
the
RDC, the VCL/Crpe32.DLL Access method, and is providing only java or .NET
solutions after CR 11, what does the Delphi Community see as their option
for developing Win32 applications using Delphi & Crystal?

Currently I am using the RDC/ActiveX viewer components. Both created at
runtime, so I don't have to import type libraries, etc. Using the runtime
also allows me to use the mergemodules to distribute the application.
Using
the Connection Properties it is "easy" to change the database location.
E.g.
for Paradox:

for i := 1 to CRReport.Database.Tables.Count do
begin
varStr := CRReport.Database.Tables[i].ConnectionProperties.Item['Data
File'];
varStr.Value := ExtractFilePath(Application.ExeName) +
ExtractFileName(varStr.Value);
CRReport.Database.Tables[i].ConnectionProperties.Item['Data File'] :=
varStr.Value;
end;

If someone has a magic bullet, tried and tested solutions, or anything
that
might help, please, i'm all ears...

Not a magic bullet, but changing from VCL to RDC was a decent solution for
me (although Crystal still has some disadvantages).

However, it would be nice if CodeGear was able to convince Business
Objects
to continue the RDC for some more versions of Crystal Reports. Surely
there
must be some contact between the companies after they added Crystal to the
.NET version of Delphi.

Otherwise the solution will be to use the .NET interop functionality to
include the .NET runtime in a WIN32 application. I think this could work
because most desktops will already have the .NET runtime installed (it
would
be nice if either CodeGear or Crystal could deliver the component for this
solution). Another solution could be to use the Crystal server and the
Crystal webviewer in a browser component embedded in a Delphi panel.

Gert

Back to top
Gert de Boom
Guest





PostPosted: Fri May 18, 2007 2:54 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

Quote:
I know you said you were doing this at runtime, but I have limited
experience on the ActiveX side, and am not completely clear on the steps
to
take to do this and avoid doing the installs for the IDE. I'm reading up
on
the topic right now, but if you have the time or a good reference, any
insight would be appreciated.

I think the snippet below will get you started:

procedure TForm1.FormCreate(Sender: TObject);
begin
OleContainer1 := TOleContainer.Create(Self);
with OleContainer1 do
begin
Name := 'OleContainer1';
Parent := Self;
AutoActivate := aaGetFocus;
AutoVerbMenu := False;
Align := alClient;
BorderStyle := bsNone;
Caption := 'OleContainer1';
Color := cl3DDkShadow;
CopyOnSave := False;
SizeMode := smAutoSize;
TabOrder := 1;
end;
Crystal := CreateOleObject('CrystalRuntime.Application'); //Crystal =
variant
CRReport := Crystal.OpenReport('c:\myReport.rpt', 0); // CRReport =
variant
CRReport.DiscardSavedData;
CRReport.EnableParameterPrompting := True;

OleContainer1.CreateObject('CrystalReports.ActiveXReportViewer', false );
OleContainer1.OleObject.EnableExportButton := True;
OleContainer1.OleObject.EnableCloseButton := True;
OleContainer1.OleObject.EnableAnimationCtrl := True;
OleContainer1.OleObject.DisplayGroupTree := True;
OleContainer1.OleObject.DisplayTabs := True;
OleContainer1.OleObject.DisplayBorder := True;
OleContainer1.OleObject.ReportSource := CRReport;

end;

procedure TForm1.FormShow(Sender: TObject);
begin
OleContainer1.SetFocus;
end;

Quote:
On another note, I've also started a discussion with Nick Hodges regarding
Business Objects/Crystal and the future of Win32 integration going
forward...

Keep me posted on this one. I'm *very* interested.

Gert
Back to top
James Poll
Guest





PostPosted: Mon May 21, 2007 10:59 pm    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

I've got a good demo together working with Managed VCL. This has basically
allowed me to add the dot net crystal viewer into a dot net user control,
compile that to a DLL and then add that to a Delphi form so it appears to be
running natively in my app. You can create your own functions in the user
control to run code in the crystal viewer. This also appears to work well
with ms reporting services.

Downsides are that you need to have visual studio and your customers need to
have the dot net runtime installed and the relevent crystal or reporting
services libraries installed (these aren't part of normal dot net).
However, as you are using dot net you are keeping up to date with the viewer
(there have been rumours that activex will no longer be supported by
crystal) and you don't have to mess around with Twebbrowser.

Jim


"Patrick Hartnett" <patrick.hartnett@perryman-sw.com> wrote in message
news:4649fb31$1 (AT) newsgroups (DOT) borland.com...
Quote:
We've been using Crystal Reports for a long time with Delphi, largely
because the ERP apps we also resell and write a lot of our custom software
to work with use it so it is a tool our customers already use, so there
are no additional licensing costs for them, and no new learning / training
curves, etc.

Looking ahead: Business Objects/Crystal Reports has now deprecated both
the RDC, the VCL/Crpe32.DLL Access method, and is providing only java or
.NET solutions after CR 11, what does the Delphi Community see as their
option for developing Win32 applications using Delphi & Crystal? We don't
want to use .NET as we don't have the time or resources to change our
applications over when this is the only reason for doing so...Per
BO/Crystal, our only choices are Java or .NET...

Here's my gripe:
We use the VCL component for integration, which up through 8.5, was great.
We went from using CR8.5 exclusively, to using CR10 due to changes with
the ERP software, and have had nothing but issues since. Since moving from
VCL8.5 to VCL10, we have found little, if any, happiness in using Crystal
Reports from Delphi.
Our main issue is with changing the database locations (Access, Direct
Access Btrieve/Pervasive, xBase data tables for the most part) at runtime
within a report. In 8.5, you could easily accomplish this via several
methods, we were able to scan and modify the Path parameter for the
individual tables to point to a new table, and it always worked, without
question.
VCL10 leaves much to be desired, as
1) the path is usually not populated for a table
2) sometimes, depending on the report, the Table Name was populated with a
full path, othertimes, not so much...
3)Per Crystal Support, we added functionality to adjust the
Table.ConnectBuffer property, works sometimes, but not always, depending
on the report, the database in use, and how the report was created (not
necessarily how it was last saved as we found out (8.5 rpt upgraded to 10,
9.0 rpt upgraded to 10, created in 10...the list goes on))
4)Installation - Merge modules, while nice in theory, in this case suck.
For one, the merge modules from BO don't have all of the necessary dlls
(crpe32.dll comes to mind...), the dlls that are included are not the
right versions for use with some of the VCL calls (crqe.dll v10.0.5.882
causes access violations when you try repathing, wheras .877 seems to
correct the access violations, but still has its own issues) and others i
can't remember off the top of my head

Troubleshooting Crystal Reports has become way to much of a resource hog
since we moved to Crystal 10, and I'm now looking around trying to
determine where to go from here.

If someone has a magic bullet, tried and tested solutions, or anything
that might help, please, i'm all ears...

-Patrick
Back to top
Gert de Boom
Guest





PostPosted: Tue May 22, 2007 12:36 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

Jim,

Quote:
I've got a good demo together working with Managed VCL.

Willing to share the sources? (excluding those of Managed VCL).

Quote:
This has basically allowed me to add the dot net crystal
viewer into a dot net user control, compile that to a DLL
and then add that to a Delphi form so it appears to be
running natively in my app.

What do you need a DLL for? I have been experimenting too (including some
with Managed VCL) but the viewer could easily be embedded without a DLL
(assembly CrystalDecisions.Windows.Forms.CrystalReportViewer).

Quote:
You can create your own functions in the user
control to run code in the crystal viewer.
This also appears to work well
with ms reporting services.
Downsides are that you need to have visual studio

Your obviously following an other path than I was. I was trying to use
CrystalDecisions.CrystalReports.Engine.ReportDocument for setting
parameters, selection formulas, etc. How did you solve this?

Gert
Back to top
James Poll
Guest





PostPosted: Tue May 22, 2007 1:03 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

Quote:
Willing to share the sources? (excluding those of Managed VCL).

I'll see if i can put them together but to be honest they are proof of
concept and aren't indicative of a real solution.

Quote:
What do you need a DLL for? I have been experimenting too (including some
with Managed VCL) but the viewer could easily be embedded without a DLL
(assembly CrystalDecisions.Windows.Forms.CrystalReportViewer).

Your obviously following an other path than I was. I was trying to use
CrystalDecisions.CrystalReports.Engine.ReportDocument for setting
parameters, selection formulas, etc. How did you solve this?


Yes - that was my first idea although i didn't check to see how well it
worked. However, after thinking about our whole application i decided to
make a DLL library of user controls to handle specific visual functionality.
We are going to design a user control for crystal viewing and another for ms
report services viewing. Other User controls will be created over time
allowing us to upgrade our application to be ugraded to C# over a period of
time. When everything is re-written, all we will do is change the host
application from Delphi to C# and because all the reporting functionality is
in the dot.net user controls it won't need re-writing.

Also, i felt it was better to have all the dot.net specific code running
inside the dot.net user control as i though this would run quicker and
create less potential issues. Hopefully from Delphi all i will need to call
is ; clrUserControl.ClrObject.DispInvoke('runReport',[txtReportName.Text,
txtReportFormat.text, txtAsAtDate.text]) etc etc. The RunReport function
written in C# can do all the work.

Interesting to hear you are thinking about similar things.

Jim
Back to top
Fritzer
Guest





PostPosted: Tue May 22, 2007 5:56 am    Post subject: Re: Delphi win32 and Crystal Reports - Future Plans? Reply with quote

Quote:
I've got a good demo together working with Managed VCL. This has
basically
allowed me to add the dot net crystal viewer into a dot net user
control,
compile that to a DLL and then add that to a Delphi form so it appears
to be
running natively in my app. You can create your own functions in the
user
control to run code in the crystal viewer. This also appears to work
well
with ms reporting services.

Downsides are that you need to have visual studio and your customers
need to
have the dot net runtime installed and the relevent crystal or reporting
services libraries installed (these aren't part of normal dot net).
However, as you are using dot net you are keeping up to date with the
viewer
(there have been rumours that activex will no longer be supported by
crystal) and you don't have to mess around with Twebbrowser.

Jim


"Patrick Hartnett" <patrick.hartnett@perryman-sw.com> wrote in message
news:4649fb31$1 (AT) newsgroups (DOT) borland.com...
We've been using Crystal Reports for a long time with Delphi, largely
because the ERP apps we also resell and write a lot of our custom
software
to work with use it so it is a tool our customers already use, so
there
are no additional licensing costs for them, and no new learning /
training
curves, etc.

Looking ahead: Business Objects/Crystal Reports has now deprecated
both
the RDC, the VCL/Crpe32.DLL Access method, and is providing only java
or
.NET solutions after CR 11, what does the Delphi Community see as
their
option for developing Win32 applications using Delphi & Crystal? We
don't
want to use .NET as we don't have the time or resources to change our
applications over when this is the only reason for doing so...Per
BO/Crystal, our only choices are Java or .NET...

Here's my gripe:
We use the VCL component for integration, which up through 8.5, was
great.
We went from using CR8.5 exclusively, to using CR10 due to changes
with
the ERP software, and have had nothing but issues since. Since moving
from
VCL8.5 to VCL10, we have found little, if any, happiness in using
Crystal
Reports from Delphi.
Our main issue is with changing the database locations (Access, Direct
Access Btrieve/Pervasive, xBase data tables for the most part) at
runtime
within a report. In 8.5, you could easily accomplish this via several
methods, we were able to scan and modify the Path parameter for the
individual tables to point to a new table, and it always worked,
without
question.
VCL10 leaves much to be desired, as
1) the path is usually not populated for a table
2) sometimes, depending on the report, the Table Name was populated
with a
full path, othertimes, not so much...
3)Per Crystal Support, we added functionality to adjust the
Table.ConnectBuffer property, works sometimes, but not always,
depending
on the report, the database in use, and how the report was created
(not
necessarily how it was last saved as we found out (8.5 rpt upgraded to
10,
9.0 rpt upgraded to 10, created in 10...the list goes on))
4)Installation - Merge modules, while nice in theory, in this case
suck.
For one, the merge modules from BO don't have all of the necessary
dlls
(crpe32.dll comes to mind...), the dlls that are included are not the
right versions for use with some of the VCL calls (crqe.dll
v10.0.5.882
causes access violations when you try repathing, wheras .877 seems to
correct the access violations, but still has its own issues) and
others i
can't remember off the top of my head

Troubleshooting Crystal Reports has become way to much of a resource
hog
since we moved to Crystal 10, and I'm now looking around trying to
determine where to go from here.

If someone has a magic bullet, tried and tested solutions, or anything
that might help, please, i'm all ears...

-Patrick





Hello,

I want to add my opinion that having Delphi 2007 be able to run Crystal
reports is the difference between us being able to migrate to Delphi or
having to go with Visual Studio .NET 2005.

We have some twenty VB6 applications that are used to run the Medical
School here at UNC. We have 300 Crystal Reports in use at this time. We
would like to migrate from VB6 to Delphi 2007 if possible.

I believe that CodeGear will deal with the Crystal Reports issue at some
point. In the mean time we have to get something going. Do any of you
have the steps and procedures for importing an older Crystal Viewer along
with whatever libraries and DLL's are needed to run the viewer. I am
seeing bits and pieces of this in the news groups but no set of concrete
steps.

Any help would be appreciated. It would literally save the day for Delphi
in our shop.

Thanks so much

Fritz Klein
Dept of Medical Education IT
UNC Chapel Hill NC



--- posted by geoForum on http://delphi.newswhat.com
Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Reporting-Charting All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.