秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  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,为方便大家,现将转换正确的汉化资源附上,需要的就下载替换就可以.

https://pan.baidu.com/s/1S46vo_IVmAwdRtzOXXGLvw?pwd=pxbr 提取码: pxbr 

posted on 2022-12-03 10:14  秋·风  阅读(540)  评论(0编辑  收藏  举报