【问题标题】:How to pass array of string into a FastReport variable?如何将字符串数组传递给 FastReport 变量?
【发布时间】:2014-07-17 20:10:15
【问题描述】:

我的计划是将字符串数组传递到 FastReport 中

这是我的代码(从所有不相关的部分和错误处理中删除):

var
  elements: TStringArray; // TStringArray = array of string;
begin
  FR := TfrxReport.Create(Self);
  FR.LoadFromFile(...);
  FR.Variables['dataArray'] := elements; // <-- Error here
  FR.ShowReport;
  FR.Free;
end;

但我得到了错误,表明我不能以这种方式将数组分配给字符串:

无法将类型(数组 OleStr)的变体转换为字符串类型

但是,如果我将'['a', 'b', 'c', 'd', 'e', 'f']' 分配给dataArray 变量 FastReport 编辑器中,它工作得很好——我可以访问dataArray[1] 等等。

所以我的问题是 - 如何正确地将 array of string 类型的变量分配给 FastReport 变量?

【问题讨论】:

  • 我手头没有FastReport 的副本,但我知道它使用了FastScript 的内部副本。如果您可以访问它,您应该能够使用脚本的AddVariable 方法使Delphi 变量对脚本可用。例如FR.Script.AddVariable('elements', 'Array', elements);

标签: delphi fastreport


【解决方案1】:

我手头没有FastReport 的副本,但我知道它使用了FastScript 的内部副本。如果您可以访问它,您应该能够使用脚本的AddVariable 方法使Delphi 变量对脚本可用。例如

FR.Script.AddVariable('elements', 'Array', elements);

【讨论】:

    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多