FastReport中国社区FastReport联系电话 联系电话:023-68661681

FastReport 2.5*为何不能打开以前版本中所创建的frf文件?

来源:   发布时间:2016-08-08   浏览:3301次

问题描述:比如说,我现在使用的是FastReport 2.4版本,然而在FastReport 2.4版本中却不能打开以前在FastReport 2.2版中所创建的.frf 文件,这是为何?

解决方法:将报表文件中的第一个字节改为16h,在源代码中做如下修改。修改后,加载并保存报表。最后,返回原来的代码。

FR_Class:

function
ReadString(Stream: TStream): String;
begin

{ if frVersion >= 23 then}
Result := frReadString(Stream) {else
Result := frReadString22(Stream);}
end;

procedure ReadMemo(Stream: TStream; Memo: TStrings);
begin
{ if frVersion >= 23 then}
frReadMemo(Stream, Memo){ else
frReadMemo22(Stream, Memo);}
end;

FR_Utils:

procedure
frReadMemo(Stream: TStream; l: TStrings);
var
s: String;
b: Byte;
n: Word;
begin
l.Clear;
l.Text := frReadString(Stream); exit;
Stream.Read(n, 2);
if n > 0 then
repeat

Stream.Read(n, 2);
SetLength(s, n);
Stream.Read(s[1], n);
l.Add(s);
Stream.Read(b, 1);
until b = 0
else
Stream.Read(b, 1);
end;

function
frReadString(Stream: TStream): String;
var

s: String;
n: Integer;
b: Byte;
begin
Stream.Read(n, 4);
SetLength(s, n);
Stream.Read(s[1], n);
// Stream.Read(b, 1);
Result := s;
end;    
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/1090.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部