大小错误的参数

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