大小错误的参数
Parameter with wrong size
我们在 Delphi 2007 年有一个系统,我们使用 TCrpe
组件打印在 Crystal Reports 2008 中生成的报告(.rpt
文件)。在下面的代码中正常工作如下:
vImpressora := '\DEV-01\HP LaserJet Professional P1102w';
with DM.Crystal do begin
CloseEngine;
ReportName := 'Comprovante.rpt';
ParamFields.Items[0].CurrentValue := 'Empresa XYZ Ltda';
Printer.Name := vImpressora;
Print;
end;
但是现在我们需要将系统转换为Delphi10。在上面的代码中,CurrentValue
只是停止了工作。系统运行命令ParamFields.Items[0].CurrentValue := 'XYZ Company All';
时产生错误:
Parameter has invalid structure size
我已经浏览了好几个 sites/forums 来寻找问题的解决方案,但没找到。这没有道理。报表中的参数是打印报表标题的类型参数,逻辑上是String类型。
修改TCPRE所有源码,将String改为AnsiString
我们在 Delphi 2007 年有一个系统,我们使用 TCrpe
组件打印在 Crystal Reports 2008 中生成的报告(.rpt
文件)。在下面的代码中正常工作如下:
vImpressora := '\DEV-01\HP LaserJet Professional P1102w';
with DM.Crystal do begin
CloseEngine;
ReportName := 'Comprovante.rpt';
ParamFields.Items[0].CurrentValue := 'Empresa XYZ Ltda';
Printer.Name := vImpressora;
Print;
end;
但是现在我们需要将系统转换为Delphi10。在上面的代码中,CurrentValue
只是停止了工作。系统运行命令ParamFields.Items[0].CurrentValue := 'XYZ Company All';
时产生错误:
Parameter has invalid structure size
我已经浏览了好几个 sites/forums 来寻找问题的解决方案,但没找到。这没有道理。报表中的参数是打印报表标题的类型参数,逻辑上是String类型。
修改TCPRE所有源码,将String改为AnsiString