fastreport在linux arm64使用时有2个致命出错,第2个bug是临时修复方案,如有更好的修复方法请和我分享,谢谢。
按以下方法修复后在linux已能正常使用,但第一次打开报表设计器时时间有的长(lazreport打开报表设计器秒开),暂时没发现其他问题。
1、修正编译出错的bug。打开frxDsgnIntf.pas,第1243行:
with GetTypeData(GetTypeData(PropertyList[i].PropType^).CompType^)^ do
改为:
{$IFDEF linux} with GetTypeData(GetTypeData(PropertyList[i]^.PropType)^.CompType)^ do {$else} with GetTypeData(GetTypeData(PropertyList[i].PropType^).CompType^)^ do {$endif}
2、修正打开报表设计器时出现:
murrine_style_draw_box_gap: assertion 'height >=-1' failed In file 'gtk2/gtk2widgetset.inc' at line 1440: raise Ex.Create(Flag + Domain + AMessag);
修复步骤:
打开/fpcupdeluxe/lazarus/lcl/interfaces/gtk2/gtk2widgetset.inc
将1386--1392行注释掉
{ //2022.07.11 LBZ else if ALogLevel and G_LOG_LEVEL_CRITICAL <> 0 then begin Level := 'CRITICAL'; Ex := EInterfaceCritical; end }
3、修改ExportPack时与LAMW的GIF冲突
将ExportPack的GIF.pas修改为frxGIF.pas
将frxExportImage.pas的第222行的GIF改为frxGIF
4、 linux arm64下汉化资源乱码
用原版的frcc.exe转换的pas文件文件编码格式默认为cp936,lazarus默认文件编码格式默认为UTF8 BOM,为方便大家,现将转换正确的汉化资源附上,需要的就下载替换就可以.
4、 linux arm64下汉化资源乱码
用原版的frcc.exe转换的pas文件文件编码格式默认为cp936,lazarus默认文件编码格式默认为UTF8 BOM,为方便大家,现将转换正确的汉化资源附上,需要的就下载替换就可以.
https://pan.baidu.com/s/1S46vo_IVmAwdRtzOXXGLvw?pwd=pxbr 提取码: pxbr