You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RAD Studio项目编译失败:未解析外部引用及视图切换报错求助

RAD Studio项目编译失败及视图切换问题

编译错误信息

[ilink32 Error] Error: Unresolved external '__fastcall TTextEditorForm::FormGesture(System::TObject *, Fmx::Types::TGestureEventInfo&, bool&)' referenced from C:\USERS\ADMIN\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\DOCSTUT.OBJ
[ilink32 Error] Error: Unresolved external '__fastcall TTextEditorForm::NewClick(System::TObject *)' referenced from C:\USERS\ADMIN\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\DOCSTUT.OBJ
[ilink32 Error] Error: Unable to perform link

推测原因:误添加OnFormGesture事件处理程序后立即删除,导致事件绑定残留。

视图切换错误信息

切换设计视图与代码编辑器时出现以下错误:

[6F9B92B1]{rtl280.bpl  } System.Classes.TInterfaceList.Clear (Line 5607, "System.Classes.pas" + 1) + $3
[6F8C39CC]{rtl280.bpl  } System.@UStrSetLength (Line 31269, "System.pas" + 27) + $0
[6F8C3B80]{rtl280.bpl  } System.@UStrCatN (Line 31641, "System.pas" + 67) + $0
[69FA10FB]{comptoolbar280.bpl} CompToolbarFrame.TComponentToolbarFrame.InitializePalette (Line 840, "CompToolbarFrame.pas" + 1) + $9
[69FA0A43]{comptoolbar280.bpl} CompToolbarFrame.TComponentToolbarFrame.EndUpdate (Line 659, "CompToolbarFrame.pas" + 13) + $6
[6EDC4293]{coreide280.bpl} PalMgr.TPaletteManager.EndUpdate (Line 1111, "PalMgr.pas" + 13) + $5
[6F01FE6B]{coreide280.bpl} EditorForm.TEditWindow.EndViewSelect (Line 4820, "EditorForm.pas" + 1) + $9
[6F018DD7]{coreide280.bpl} EditorForm.TEditWindow.SwitchViews (Line 2296, "EditorForm.pas" + 11) + $3
[6F0188D2]{coreide280.bpl} EditorForm.TEditWindow.ViewBarChange (Line 2136, "EditorForm.pas" + 10) + $10
[6E3A8701]{vcl280.bpl  } Vcl.Tabs.TTabSet.CanChange (Line 1962, "Vcl.Tabs.pas" + 3) + $D
[6E3A8751]{vcl280.bpl  } Vcl.Tabs.TTabSet.SetTabIndex (Line 1973, "Vcl.Tabs.pas" + 5) + $4
[6E3A89D6]{vcl280.bpl  } Vcl.Tabs.TTabSet.MouseDown (Line 2085, "Vcl.Tabs.pas" + 6) + $6
[6E1D8670]{vcl280.bpl  } Vcl.Controls.TControl.DoMouseDown (Line 7730, "Vcl.Controls.pas" + 7) + $29
[6E1D6A1B]{vcl280.bpl  } Vcl.Controls.TControl.SetMouseCapture (Line 6654, "Vcl.Controls.pas" + 2) + $6
[6E1D86BF]{vcl280.bpl  } Vcl.Controls.TControl.WMLButtonDown (Line 7741, "Vcl.Controls.pas" + 7) + $E
[6E1D802E]{vcl280.bpl  } Vcl.Controls.TControl.WndProc (Line 7591, "Vcl.Controls.pas" + 91) + $6
[6E2E3338]{vcl280.bpl  } Vcl.Themes.TStyleManager.HandleMessage (Line 5872, "Vcl.Themes.pas" + 11) + $11
[6E1DD1F5]{vcl280.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10644, "Vcl.Controls.pas" + 170) + $6

已尝试的无效操作

  • 执行清理构建,问题未解决
  • 使用RAD Studio命令行,提示项目不存在
  • 右键错误信息选择查看源码,选项为灰色不可用

解决方法

针对编译错误(未解析外部符号)

  • 清理DFM文件残留绑定:关闭RAD Studio,找到项目对应的.dfm文件,用文本编辑器打开,删除所有包含OnFormGesture、NewClick的绑定行(如OnFormGesture = FormGesture),保存后重新打开项目编译。
  • 检查代码文件声明:打开对应.pas文件,删除TTextEditorForm类中残留的FormGesture、NewClick函数声明及空实现。

针对视图切换错误

  • 重置IDE设置:关闭RAD Studio,运行bds.exe -reset(或对应版本的启动命令)重置IDE默认设置,重启后尝试切换视图。
  • 删除IDE缓存:找到RAD Studio缓存目录(一般在C:\Users\<用户名>\AppData\Roaming\Embarcadero\BDS\<版本号>),删除目录内所有缓存文件和文件夹,重启IDE。

内容的提问来源于stack exchange,提问作者someoneraw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 23:07:50