【发布时间】: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