FastReport 2.5 не открывает файлы frf, сделанные в предыдущих версиях (FreeReport)
Question: FastReport 2.5 не открывает файлы frf, сделанные в предыдущих версиях (FreeReport)
Answer:
(до приобретения FastReportа мы пользовались бесплатной версией FreeReport, создали много шаблонов отчетов... а теперь они не открываются, пишет "Неверный FRF формат" :(( Неужели все придется переделывать?)
У файлов отчета надо заменить первый байт (с 17h на 16h), сделать следующие модификации, прочитать все отчеты и сохранить их, потом изменения в коде вернуть назад.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
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; |