lazarus在银河麒麟国产操作系统linux下,使用fastreport注意事项

参考 秋.风 https://www.cnblogs.com/qiufeng2014

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行注释掉
复制代码
{
else
if ALogLevel and G_LOG_LEVEL_CRITICAL <> 0
then begin
Level := 'CRITICAL';
Ex := EInterfaceCritical;
end
}

3.frxReport1.IniFile 默认值的在 linux 下代码不太完善,可以参考秋风方法
https://www.cnblogs.com/qiufeng2014/p/17732340.html
也可以不修改代码程序指定文件
procedure Tfrm_Z_A_main.FormCreate(Sender: TObject);
begin
inherited;
//指定
frxReport1.IniFile := gsAppPath + '/report.ini';
end;

posted @   fsqcling  阅读(323)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示