如何将字符串数组传递给FastReport变量?

时间:2014-07-17 11:01:46

标签: delphi fastreport

我的计划是将一个字符串数组传递给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)的变体转换为String

类型

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

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

1 个答案:

答案 0 :(得分:2)

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

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