Delphi/C++ Builder 10.3.3 安装 TMS 控件避坑指南:从源码到UI Pack的完整流程

张开发
2026/4/16 22:15:38 15 分钟阅读

分享文章

Delphi/C++ Builder 10.3.3 安装 TMS 控件避坑指南:从源码到UI Pack的完整流程
Delphi/C Builder 10.3.3 安装 TMS 控件全流程避坑指南第一次在RAD Studio里装TMS控件时我盯着空荡荡的组件面板发呆了半小时——明明按照教程操作了为什么我的C Builder里就是找不到TAdvStringGrid后来才发现原来Delphi和C Builder的安装路径配置有微妙差异。这份指南会带你避开我踩过的所有坑从源码编译到UI Pack部署手把手实现零失败安装。1. 环境准备与基础配置安装TMS控件前确保你的开发环境已经正确配置。很多人跳过这步直接安装控件结果遇到各种路径问题。打开RAD Studio 10.3.3时注意区分三种启动方式RAD Studio完整IDE环境推荐Delphi仅Delphi开发环境C Builder仅C开发环境提示TMS控件通常需要先在Delphi环境下安装即使你主要使用C Builder检查Library Path是否包含必要路径。在Tools → Options中Delphi Options → Library → Library Path 应包含 1. $(BDS)\TMS 2. $(BDS)\TMS\XlsAdapter 3. $(BDS)\bin C Options → Paths and Directories 需额外配置 - Include Path添加上述相同路径 - Library Path添加上述相同路径常见错误排查表错误现象可能原因解决方案编译时找不到.dcu文件Library Path未正确配置检查路径是否包含TMS源码目录设计时控件不显示未以管理员身份安装关闭所有杀毒软件后重装运行时提示bpl缺失BPL输出路径错误确认BPL文件生成在Public Documents对应目录2. 源码安装深度解析从源码安装TMS控件能获得最大灵活性但也是坑最多的方式。我推荐使用TMS Component Pack (SRC) v9.2.4.0版本兼容性较好。解压后建议将整个TMS文件夹放在RAD Studio安装目录下例如D:\Program Files\Embarcadero\RAD Studio\20.0\TMS关键操作步骤关闭所有工程File → Close All避免锁定bpl文件加载组项目打开tmsdXE12group.groupproj不要直接打开单个bpl项目编译顺序先编译TMSBaseGroup再编译其他组件组安装技巧右键点击tmsdXE12.bpl选择Install而非直接运行注意如果遇到[Fatal Error] Could not create output file错误是因为之前的安装残留锁定了文件。彻底关闭IDE后删除以下目录内容C:\Users\Public\Documents\Embarcadero\Studio\20.0\BplC:\Users\Public\Documents\Embarcadero\Studio\20.0\DcpC Builder用户特别注意源码包默认只包含Delphi工程文件必须通过Delphi环境安装后才能在C Builder中使用。这就是为什么很多C开发者单独安装时控件不显示的根本原因。3. UI Pack安装的利与弊TMS VCL UI Pack是更简单的安装选择它包含了TAdvStringGrid等所有控件的一键安装包。但要注意版本匹配——UI Pack 10.1.6.1是专门为RAD Studio 10.3.3设计的版本。安装流程差异对比步骤源码安装UI Pack安装准备工作需下载源码包只需exe安装包安装时间15-30分钟5分钟自定义能力可修改源码固定功能更新难度需重新编译直接覆盖安装UI Pack安装后需要特别处理bpl文件将Crack/Win32下的bpl文件复制到C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl同名文件选择覆盖重启RAD Studio实测发现UI Pack安装后偶尔会遇到设计时控件显示但运行时出错的情况。这时需要检查项目Options → Packages → Runtime Packages是否包含TMS组件项目Options → Delphi Compiler → Unit scope names是否添加TMS4. TAdvStringGrid专项配置作为TMS套件中最受欢迎的网格控件TAdvStringGrid的配置有其特殊性。安装成功后在组件面板的TMS分类下应该能看到它。如果找不到尝试procedure TForm1.FormCreate(Sender: TObject); begin // 手动注册组件仅在极端情况下需要 RegisterComponents(TMS, [TAdvStringGrid]); end;常用属性快速参考表属性类型默认值说明FixedColsInteger1固定列数FixedRowsInteger1固定行数GridLineColorTColorclSilver网格线颜色Versionstring5.0.0.0控件版本检测性能优化建议大数据量时设置BeginUpdate和EndUpdate禁用DoubleBuffered可提升渲染速度使用VirtualMode处理超百万行数据5. 跨版本迁移实战技巧当需要将项目迁移到新版本RAD Studio时TMS控件的处理需要格外小心。我总结的迁移三部曲备份阶段导出当前Library Path配置备份所有自定义的TMS控件设置记录项目使用的具体TMS版本号清理阶段# 管理员权限运行 del /f /q %PUBLIC%\Documents\Embarcadero\Studio\20.0\Bpl\TMS*.bpl del /f /q %PUBLIC%\Documents\Embarcadero\Studio\20.0\Dcp\TMS*.dcp重建阶段在新环境安装匹配版本的TMS仅添加必要的Library Path逐个项目测试控件兼容性迁移后常见问题解决方案如果提示版本不匹配检查.dproj文件中的版本号设计时出现乱码通常是编码问题设置TMSStyle属性重置性能下降时尝试禁用动画效果和高级渲染特性6. 疑难杂症解决方案库收集了开发者社群中最常遇到的五个典型问题Q1安装成功后为什么设计时能看到控件但运行时提示类未注册A这是因为运行时包没有正确部署。解决方案确认项目Options → Packages → Runtime packages包含TMS组件检查部署机器的BPL路径是否在系统PATH中对于C项目需要在Additional Options添加-luTMSQ2如何判断是源码问题还是安装问题创建最简单的测试项目uses AdvStringGrid; procedure TForm1.Button1Click(Sender: TObject); var Grid: TAdvStringGrid; begin Grid : TAdvStringGrid.Create(Self); try Grid.Parent : Self; Grid.Align : alClient; Grid.Cells[1,1] : Test; finally Grid.Free; end; end;如果这个基础测试能运行说明安装正确问题出在你的项目配置。Q3为什么修改了源码但重新编译后变化没生效这是因为IDE缓存了dcu文件。强制重新编译的方法删除所有dcu文件在项目选项勾选Rebuild as needed执行Build而非MakeQ4在多显示器环境下控件设计器崩溃怎么办这是已知的RAD Studio兼容性问题。临时解决方案关闭所有浮动窗口设置主显示器缩放为100%在注册表禁用DPI感知[HKEY_CURRENT_USER\Software\Embarcadero\BDS\20.0] DisableDpiScalingdword:00000001Q5如何彻底卸载TMS控件完整卸载步骤卸载PackageComponent → Install Packages删除所有相关bpl和dcp文件清理Library Path中的TMS路径删除注册表项HKEY_CURRENT_USER\Software\TMS Software实际项目中遇到一个特别棘手的问题在Windows 11高DPI环境下TAdvStringGrid的滚动条会异常闪烁。最终发现需要同时设置AdvStringGrid1.DoubleBuffered : True; AdvStringGrid1.DrawingStyle : gdsClassic;

更多文章