首页 > 其他分享 >修正中文控件名称时IDE代码提示出错的Bug

修正中文控件名称时IDE代码提示出错的Bug

时间:2024-09-19 14:27:32浏览次数:10  
标签:控件 begin 中文 CurPos StartPos IDE Bug

根据之前的方法增加中文控件名称后发现中文控件名称IDE代码提示”Error:identifier not found:“,不能显示控件的方法/属性。

 解决方法:
打开lazarus\components\codetools\customcodetool.pas
添加红色代码部分(lazarus 3.4在第1753行)

  // read atom
  if IsStringConstant then begin
    CurPos.StartPos:=OldPrePos;
    if (CurPos.StartPos>1) and (Src[CurPos.StartPos-1] in ['''','`']) then begin
      ReadStringConstantBackward;
    end;
    LastAtoms.AddReverse(CurPos);
    exit;
  end;
  c2:=Src[CurPos.StartPos];
  case c2 of
    'A'..'Z','a'..'z',#$80..#$FF:
      begin
        // identifier or keyword or hexnumber
        while (CurPos.StartPos>1) do begin
          if (IsIdentChar[Src[CurPos.StartPos-1]]) then
            dec(CurPos.StartPos)

重新编译lazarus后中文控件名称在IDE代码提示已能正确显示控件的方法/属性等。

 

标签:控件,begin,中文,CurPos,StartPos,IDE,Bug
From: https://www.cnblogs.com/qiufeng2014/p/18420495

相关文章

  • 安全: aide配置/升级/使用脚本
    一,功能:AIDE入侵检测工具的本质就是配置文件中指定文件的哈希值存储到数据库文件中,在进行检测的时候进行再次计算并对比。只能发现有区别,并不能告知区别明细  二,更新用的命令更新您的基准AIDE数据库:#aide--updateaide--update 命令创建 /var/lib/aide/aide.db.......
  • 分享3款开源、免费的Avalonia UI控件库
    Avalonia介绍Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一......
  • Vue 依赖注入组件通信:provide / inject 使用详解
    引言在Vue.js中,我们经常会遇到组件之间需要共享数据的情况。一种常见的解决方案是通过props和$emit事件来进行数据传递,但对于多层嵌套的组件结构或共享状态的场景,这种方式显得繁琐而不直观。幸运的是,Vue.js提供了一个稍微优雅的解方案:依赖注入-provide和inject。......
  • 在idea中使用mysql失败
    在idea中测试mysql显示失败idea方面视图-工具窗口-数据库或者右边有图标直接点开新建-数据源-mysql名称-用户(root)-密码-测试连接如果测试连接有切换相关提示直接点击,如果出绿色对勾就成功了到这里本可以结束了,但是我最开始做的时候这个流程......
  • 自动化测试 RobotFramework-ride使用相关总结
    开发环境win11家庭中文版Python3.9.13robotframework6.1.1说明:为了方便的使用robot命令,安装好robotframwork后,修改系统环境,添加robot.exe(PYTHON_HOME/Scripts/robot.exe)所在路径到系统环境变量path安装参考连接:https://github.com/robotframework/robotframework/blob/mast......
  • Unity UI控件用法汇总
    利用LoopListView实现Banner循环列表,且默认中间节点为默认节点:  1.给ScrollRect节点添加LoopListView组件,并勾选ItemSnapEnable为true。  2.通过LoopListView.InitListView初始化时,totalCount需要传-1.  3.OnGetItemByIndex的回调参数index以(Int32.MinValue,Int32.MaxVa......
  • Scala的IDEA环境搭建
    要在IntelliJIDEA(简称IDEA)中搭建Scala开发环境,您可以按照以下步骤操作: 1.安装JDK:确保您已经安装了JavaDevelopmentKit(JDK)。如果您还没有安装,可以访问Oracle的官方网站下载并安装JDK8或更高版本。2.安装Scala编译器:访问Scala的官方网站,下载并安装最新的Scala编译器。根......
  • uart loglevel和pr_debug的区别
    pr_debug是Linux内核中用于打印调试信息的宏,它的行为会根据编译时的配置有所不同。如果定义了CONFIG_DYNAMIC_DEBUG配置选项,pr_debug会扩展为dynamic_pr_debug,这允许在运行时动态地控制调试信息的输出。如果没有定义CONFIG_DYNAMIC_DEBUG,但定义了DEBUG,则pr_debug等同于......
  • wpf简单自定义控件
    用户控件(UserControl)和自定义控件(CustomControl)的区别:UserControl:将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组;由XAML和CodeBehind代码组成;不支持样式/模板重写;CustomControl自定义控件,扩展自一个已经存在的控件,并添加新的功能/特性;由C......
  • word 文档签章控件生成的签章批量删除
    某个签章工具的word插件缺少批量插入签章的功能。同时,发现在投标工具中可以使用导出生成pdf时批量签章的功能。现在需要移除先前手动操作生成的多个签章,有如下发现——1.对少量签章,可以先选中签章右键选择编辑,然后再次选中选择撤销。2.取消com加载项的DSealObjForOffice条目......