【发布时间】:2009-10-14 15:19:28
【问题描述】:
我有:
德尔福 2007
水晶 11
Delphi 7 版本的 Crystal VCL 组件(我知道的最新版本,在 D2007 中编译良好)
一个非常简单的测试Crystal报告,用Crystal 11编写,只是将表格转储到屏幕上(没有选择标准,没有公式,只有直接数据)
我试过了
创建了一个新的 VCL 表单应用程序
在表单上删除了 TCrpe 组件
将“ReportName”属性设置为我的测试报告。
我在表单上放了一个按钮,在它后面放了一行:
Crpe1.Execute
如果报告的“使用报告保存数据”选项打开,则可以正常工作。
如果我关闭该选项,那么我需要提供登录凭据。
使用这段代码(在一百万年前的 Delphi 5 中运行良好):
procedure TForm1.BitBtn1Click(Sender: TObject);
var
logonItem: integer;
begin
Crpe1.LogOnServer.Clear;
logonItem := Crpe1.LogOnServer.Add('MYSERVER.MYDOMAIN.COM');
Crpe1.LogonServer[logonItem].UserID := 'USERNAME';
Crpe1.LogOnServer[logonItem].Password := 'PASSWORD';
Crpe1.LogOnServer[logonItem].DatabaseName := 'MYDATABASE';
Crpe1.Execute;
end;
我收到此错误:
---------------------------
Project2
---------------------------
Error:536 Error in File C:\REPORT.RPT:
Unable to connect: incorrect log on parameters.
Execute <PEStartPrintJob>.
---------------------------
OK
---------------------------
我做错了什么?如何为 Delphi 中的 Crystal VCL 组件提供登录凭据?我目前的解决方法是pretty ugly,我有很多遗留代码要转换。如果能直接使用 VCL 组件就好了。
【问题讨论】:
标签: delphi crystal-reports delphi-2007