我的计划是将一个字符串数组传递给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变量?
答案 0 :(得分:2)
我手边没有FastReport
的副本,但我知道它使用FastScript
的内部副本。如果您可以访问它,则应该能够使用脚本的AddVariable
方法使脚本可以使用Delphi变量。例如
FR.Script.AddVariable('elements', 'Array', elements);