CnPack 开源软件项目 - CnPack IDE 专家包已知问题说明
  网站首页 下载中心 每日构建 文档中心 捐助我们 开发论坛 关于我们 致谢名单 English


 Google 搜索

内容: 
 最新下载


 
CnWizards 1.5.1.1219
[2024-11-03]

 
CnVCL 组件包 20241103
[2024-11-03]

 
CnPack 密码算法库 20241103
[2024-11-03]
  每日构建版下载
  专家包时间线
 项目相关链接


 
CnPack GitHub 首页
GIT 使用说明
申请加入 CnPack
CnPack 成员名单
 网站访问量

今日首页访问: 368
今日页面流量: 3156
全部首页访问: 5300228
全部页面流量: 21360226
建站日期: 2003-09-01

 
CnPack IDE 专家包已知问题说明
 
CnPack 开源软件项目 2024-10-17 05:50:34

近日有不少用户报告CnPack IDE 专家包在最新的版本的Delphi上存在问题,经总结有以下几个较难解决,目前仍无修复思路的。

一、代码高亮左右错位绘制问题

D10.4及以上版本,IDE自身的代码编辑器在第一次打开后,会有一个时机不确定的左侧栏宽度横向突变的动作。
该动作影响CnWizards的代码高亮,会出现左右高亮绘制错位。手工滚动触发重绘后消失。

二、LSP模式下代码输入助手与IDE冲突的问题

D11或以上版本,尤其是D12,LSP获取符号列表是异步模式。当代码输入助手准备弹出而调用LSP的ToolsAPI接口,
异步等待结果回来时,如果等待期间用户又通过代码中按点号触发了IDE自己的代码提示,则两者冲突,大概率出访问冲突错误。

抓到的调用堆栈:

[6EB55D65]{coreide290.bpl} CodCmplt.TCodeCompletionManager.HandleAsyncInvokeCodeCompletionResult (Line 1345, CodCmplt.pas + 8) + $0
[6F5803DA]{rtl290.bpl  } System.@IsClass (Line 18928, System.pas + 1) + $8
[6E3CD047]{vcl290.bpl  } Vcl.Themes.TStyleManager.GetStyle (Line 5823, Vcl.Themes.pas + 7) + $D
[6E3CD135]{vcl290.bpl  } Vcl.Themes.TStyleManager.GetStyle (Line 5834, Vcl.Themes.pas + 18) + $1E
[6F57A294]{rtl290.bpl  } System.@FreeMem (Line 5012, System.pas + 20) + $0
[6F57FFEC]{rtl290.bpl  } System.TObject.FreeInstance (Line 18364, System.pas + 2) + $2
[6F5807B6]{rtl290.bpl  } System.@ClassDestroy (Line 19728, System.pas + 0) + $2
[6F5800D5]{rtl290.bpl  } System.TObject.Destroy (Line 18419, System.pas + 1) + $4
[6EB5FC5A]{coreide290.bpl} CodCmplt.TAsyncStatusList.FindId (Line 4980, CodCmplt.pas + 9) + $D
[6EB55D54]{coreide290.bpl} CodCmplt.TCodeCompletionManager.HandleAsyncInvokeCodeCompletionResult (Line 1339, CodCmplt.pas + 2) + $8
[6EB55CDC]{coreide290.bpl} CodCmplt.TCodeCompletionManager.AsyncInvokeCodeCompletionResult (Line 1305, CodCmplt.pas + 24) + $12
[6BA28751]{IDELSP290.bpl} LSPCodCmplt.TLSPKibitzManager.AsyncCodeCompletionResult (Line 1360, LSPCodCmplt.pas + 4) + $10
[6BA1A228]{IDELSP290.bpl} BaseLSPServer.TLSPServer.HandleError (Line 1192, BaseLSPServer.pas + 7) + $E
[6F58A780]{rtl290.bpl  } System.UTF8ToUnicodeString (Line 40663, System.pas + 7) + $5
[6BA194F7]{IDELSP290.bpl} BaseLSPServer.TLSPServer.LSPServerNewLine$ActRec.$12$Body (Line 1068, BaseLSPServer.pas + 3) + $20
[6F6A0747]{rtl290.bpl  } System.Classes.CheckSynchronize (Line 16336, System.Classes.pas + 34) + $A
[61FBF102]{CnWizards_D120A.DLL} CnWizNotifier.TCnWizNotifierServices.DoGetMsg$qqrp6HWND__rx24Winapi.Messages.TMessage (Line 2012, CnWizNotifier.pas + 1) + $17
[6A8C3B63]{fmx290.bpl  } FMX.Platform.Win.TPlatformWin.ThreadSync (Line 3658, FMX.Platform.Win.pas + 3) + $2
[6F6A4E60]{rtl290.bpl  } System.Classes.StdWndProc (Line 19091, System.Classes.pas + 8) + $0
[62186AF1]{CnWizards_D120A.DLL} CnSrcEditorMisc.TCnSrcEditorMisc.OnAppMessage (Line 492, CnSrcEditorMisc.pas + 67) + $50
[6E4148B3]{vcl290.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 13376, Vcl.Forms.pas + 23) + $1
[6E4148F6]{vcl290.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 13406, Vcl.Forms.pas + 1) + $4
[6E414C35]{vcl290.bpl  } Vcl.Forms.TApplication.Run (Line 13545, Vcl.Forms.pas + 27) + $3
[006D8B12]{bds.exe     } bds.bds + $DE

三、代码格式化偶出死循环

针对当前源码文件进行格式化时,无论是按默认热键Ctrl+W,或是从编辑器工具栏、或菜单入口中执行格式化,均有一定概率导致IDE界面挂起,猜测是格式化代码在碰到特定Pascal代码的特定写法时触发Bug陷入死循环,但目前仍尚未找到哪里的死循环。

四、代码输入助手弹出框绘制内容错乱

高版本Delphi中,尤其是支持主题的IDE里,代码输入助手弹出时,其弹出框有一定概率出现背景混乱,譬如把编辑器左上角一些内容给复制到弹出框的空白部分,尚无解决思路。



本文已阅读 139 次
来自: CnPack 开源软件项目

上一主题 | 返回上级

相关主题:
定制编译 CnWizards 的方法
CnPack IDE 专家包参赛作品介绍
CnPack IDE 专家包作品说明书(0.8.1)
帮助 CnPack 开发组修正 CnWizards 错误的方法


版权所有(C) 2001-2024 CnPack 开发组 网站编写:Zhou Jinyu