Delphi 2007中的Crystal报告

Delphi 2007中的Crystal报告,delphi,crystal-reports,delphi-2007,Delphi,Crystal Reports,Delphi 2007,我有: --------------------------- Project2 --------------------------- Error:536 Error in File C:\REPORT.RPT: Unable to connect: incorrect log on parameters. Execute <PEStartPrintJob>. --------------------------- OK -------------------------

我有:

---------------------------
Project2
---------------------------
Error:536 Error in File C:\REPORT.RPT:

Unable to connect: incorrect log on parameters.

Execute <PEStartPrintJob>.
---------------------------
OK   
---------------------------
德尔福2007

水晶11

Crystal VCL组件的Delphi7版本(我知道的最新版本,在D2007中编译得很好)

一个非常简单的测试Crystal报告,用Crystal 11编写,它只是将一个表转储到屏幕上(没有选择标准,没有公式,只有直接的数据)

我试过了

创建了一个新的VCL表单应用程序

已在窗体上删除TCrpe组件

将“ReportName”属性设置为我的测试报告

我在表格上放下一个按钮,在它后面放了一行:

Crpe1.Execute
如果报告已启用“使用报告保存数据”选项,则该选项可以正常工作

如果我关闭该选项,则需要提供登录凭据

使用此代码(一百万年前在Delphi 5中运行良好):

我收到这个错误:

---------------------------
Project2
---------------------------
Error:536 Error in File C:\REPORT.RPT:

Unable to connect: incorrect log on parameters.

Execute <PEStartPrintJob>.
---------------------------
OK   
---------------------------
---------------------------
项目2
---------------------------
错误:文件C:\REPORT.RPT中有536个错误:
无法连接:登录参数不正确。
执行。
---------------------------
好啊
---------------------------

我做错了什么?如何在Delphi中向Crystal VCL组件提供登录凭据?我目前的解决方法是,我有很多遗留代码要转换。如果我能以一种简单的方式使用VCL组件,那就太好了。

我在Delphi6中使用VCL,效果很好。但我不使用LogOnServer属性,而是使用LogOnInfo

这适用于任何报表以及包含子报表的报表(因为这些报表也需要提供凭据):


我在Delphi6中使用VCL,效果很好。但我不使用LogOnServer属性,而是使用LogOnInfo

这适用于任何报表以及包含子报表的报表(因为这些报表也需要提供凭据):

下面是一些使用VCL组件的旧“遗留”代码:

mCrpe.reportname:=mfilename;
mCrpe.Connect.UserID := CustomReportCurrentUser;

mCrpe.connect.ServerName:='servername';
mCrpe.connect.DataBaseName:='databasename';
mCrpe.connect.propagate:=True;
mCrpe.Connect.Password := CustomReportClientPass;



try
  mConnected := mCrpe.Connect.Test;
except
  on e: eDBEngineError do begin
    showmessage(e.message);
  end;
end;

mCrpe.windowbuttonbar.refreshbtn:=true;
mCrpe.discardsaveddata;
mCrpe.Show;
不久前,我读到晶体VCL组件被“遮光”。从那时起,我迁移到了activexrdc组件。不过,它需要在目标计算机上安装Active X。

以下是一些使用VCL组件的旧“遗留”代码:

mCrpe.reportname:=mfilename;
mCrpe.Connect.UserID := CustomReportCurrentUser;

mCrpe.connect.ServerName:='servername';
mCrpe.connect.DataBaseName:='databasename';
mCrpe.connect.propagate:=True;
mCrpe.Connect.Password := CustomReportClientPass;



try
  mConnected := mCrpe.Connect.Test;
except
  on e: eDBEngineError do begin
    showmessage(e.message);
  end;
end;

mCrpe.windowbuttonbar.refreshbtn:=true;
mCrpe.discardsaveddata;
mCrpe.Show;

不久前,我读到晶体VCL组件被“遮光”。从那时起,我迁移到了activexrdc组件。但是,它需要在目标计算机上安装Active X。

这有语法错误。我不知道这怎么可能是答案!这有语法错误。我不知道这怎么可能是答案!这就是我们所做的,它仍然与D2007和Crystal 11一起工作。我们必须离开它,RDC进展如何?它工作。。。。。但总体而言,Crystal Reports的所有者(不确定现在是谁:Crystal Decisions-->Business Objects-->SAP…)几乎不支持客户端/服务器设置中的Crystal Reports。这就是我们所做的,它仍在使用D2007和Crystal 11。我们必须离开它,RDC进展如何?它工作。。。。。但总体而言,Crystal Reports的所有者(不确定现在是谁:Crystal Decisions-->Business Objects-->SAP…)几乎不支持客户端/服务器设置中的Crystal Reports。