Delphi XE 10.3 手动编译安装 TMS 8.5.1 组件包完整指南

发布时间:2026/10/16 16:15:08
Delphi XE 10.3 手动编译安装 TMS 8.5.1 组件包完整指南 简介TMS 8.5.1 For Xe 10.3 是面向 Delphi XE10.3 Rio 开发者的第三方组件套件由 TMS 出品适配 Windows、macOS、iOS 与 Android 多平台项目。它主要解决界面搭建、数据交互、报表输出与图表可视化等重复造轮子的问题适合已有一定 Delphi 基础、希望提升开发效率的中高级开发者。压缩包为 7z 格式共 6147 个文件约 77.81MB其中 pas 源码、dcu 编译单元、dfm 窗体与 dpr/dproj 工程文件构成核心res、bmp、png、ico 等资源文件用于界面素材dpk 包文件与 inc 头文件便于组件安装与引用另含 pdf 文档、mdb 示例库及多语言 aff 文件。资源已测试可在 XE10.3 Rio 下正常运行涵盖用户界面、数据处理、报表、图表与网格等模块可直接用于实际项目或作为组件学习参考。目前已有 569 人学习下载。1. 从一份 Delphi XE 10.3 的 TMS 组件包说起它到底能解决什么如果你正在维护一套 Delphi XE 10.3 Rio 的老项目又恰好需要一套成熟的 VCL 界面控件库那 TMS 8.5.1 这个版本号大概率会在你的搜索记录里反复出现。这不是一个能双击安装就完事的普通工具而是一整套需要手动编译、注册、再挂到 IDE 里的组件源码包。它解决的核心问题很具体让还在用 XE 10.3 的团队不必升级到更新的 Delphi 版本也能用上 TMS 那套久经考验的表格、图表、编辑器、计划表控件。适合谁适合手上压着存量项目、短期内不可能换 IDE、但又需要快速补齐界面能力的 Delphi 开发者。我见过太多人卡在“装完 IDE 里找不到控件”这一步这篇就把从源码到可用组件的完整链路拆开讲。2. 环境准备与源码包结构先搞清楚你要编译什么2.1 确认 Delphi 版本与包目录的对应关系TMS 8.5.1 的源码包解压后你会看到一堆以版本号命名的子目录。这里最容易翻车的地方是很多人直接打开根目录的工程文件就开始编译结果报一堆找不到单元的错。原因很简单TMS 的包是按 Delphi 版本分目录存放的你必须先找到对应 XE 10.3 Rio 的那个目录。常见做法是进入类似Packages\Delphi103Rio这样的路径里面会有.dpk和.dproj文件。注意不同小版本的 TMS 对目录命名可能有细微差别但规律是一致的找带Rio或103字样的文件夹。如果你不确定就看哪个目录里的.dpk文件在 IDE 里能正常加载。提示编译前先把整个源码包放到一个不含中文和空格的路径下比如D:\Components\TMS851。路径里有空格或中文Delphi 的编译器偶尔会给你脸色看。2.2 编译顺序先运行包再设计包TMS 的包分两类运行期包Runtime Package和设计期包Design Package。运行期包提供控件本身的代码设计期包负责把控件注册到 IDE 的工具面板上。顺序不能反否则设计期包会因为找不到运行期包的符号而编译失败。我一般会先打开运行期包的.dproj在 IDE 里直接 Build确认没有错误后再 Install。下面是一个典型的编译命令如果你习惯用命令行# 进入对应版本的包目录 cd D:\Components\TMS851\Packages\Delphi103Rio # 使用 Delphi 命令行编译器编译运行期包 dcc32 -B TMSDXE10Rio.dpk # 编译通过后再编译设计期包 dcc32 -B dclTMSDXE10Rio.dpk逻辑说明-B参数表示强制重新编译所有单元避免缓存导致的玄学错误。TMSDXE10Rio.dpk是运行期包dcl前缀的是设计期包。参数上如果你用的是 64 位目标平台需要把dcc32换成dcc64并且确保包工程里也切换到了 64 位。编译成功后设计期包在 IDE 里右键 Install 即可。2.3 库路径配置别让 IDE 找不到源码编译通过不代表 IDE 就能正常用。你还需要把 TMS 的源码目录加到 Delphi 的 Library Path 里。步骤是Tools → Options → Language → Delphi → Library在对应平台Win32 或 Win64的 Library Path 中新增 TMS 的源文件目录。这里有个血泪经验很多人只加了Source根目录但 TMS 的子目录很多比如Source\Common、Source\Grids等。稳妥的做法是把所有包含.pas文件的子目录都加进去或者直接用通配符递归。加完之后重启 IDE否则路径不生效。3. 安装后的验证与第一个 TMS 控件从拖拽到跑通3.1 在工具面板找到 TMS 标签页设计期包安装成功后IDE 的工具面板上会出现一个或多个 TMS 开头的标签页比如TMS Grid、TMS Chart之类。如果没出现先检查设计期包是否真的 Install 成功再看 View → Toolbars → Component 是否被隐藏了。我一般会先拖一个TAdvStringGrid到窗体上这是 TMS 里最常用的表格控件之一。拖上去之后如果 IDE 没有报错说明包注册没问题。接下来编译运行一个空窗体确认运行期也没有缺 DLL 或单元。3.2 一个最小可运行示例表格加载数据下面这段代码演示了如何在窗体创建时给TAdvStringGrid填充数据并设置几个常用属性procedure TForm1.FormCreate(Sender: TObject); begin // 设置行列数 AdvStringGrid1.RowCount : 10; AdvStringGrid1.ColCount : 5; // 关闭默认的编辑行为按需开启 AdvStringGrid1.Options : AdvStringGrid1.Options [goEditing]; // 填充表头 AdvStringGrid1.Cells[0, 0] : 编号; AdvStringGrid1.Cells[1, 0] : 名称; AdvStringGrid1.Cells[2, 0] : 数量; AdvStringGrid1.Cells[3, 0] : 单价; AdvStringGrid1.Cells[4, 0] : 备注; // 填充一行示例数据 AdvStringGrid1.Cells[0, 1] : 001; AdvStringGrid1.Cells[1, 1] : 测试物料; AdvStringGrid1.Cells[2, 1] : 100; AdvStringGrid1.Cells[3, 1] : 12.50; AdvStringGrid1.Cells[4, 1] : 正常; // 自动调整列宽 AdvStringGrid1.AutoSizeColumns(true); end;逻辑说明RowCount和ColCount控制表格尺寸索引从 0 开始。goEditing是TAdvStringGrid的选项之一加进去之后单元格可编辑。Cells[列, 行]是读写单元格的标准方式注意第一个参数是列第二个是行和某些表格控件相反。AutoSizeColumns(true)会根据内容自动调整列宽参数true表示包含表头。参数上如果你需要固定行或固定列设置FixedRows和FixedCols属性。需要排序、过滤、合并单元格TMS 都有对应的方法但那是进阶用法先把基础跑通。3.3 编译目标平台的选择XE 10.3 支持 Win32 和 Win64 两个目标平台。TMS 的包需要分别为每个平台编译和安装。如果你只装了 Win32 的包切换到 Win64 编译时会报找不到单元。常见做法是在 IDE 的 Project Manager 里先切到 Win32编译安装一遍再切到 Win64重复编译安装。库路径也要对应平台分别配置。注意如果你在 Win64 下编译运行期包时报E1026 File not found八成是库路径只配了 Win32 的。回到 Library Path 检查 Win64 那一栏。4. 避坑与常见问题那些让你怀疑人生的报错4.1 现象设计期包 Install 后工具面板没有 TMS 标签原因设计期包编译时链接的是旧版运行期包或者 IDE 没有重启导致注册信息未刷新。解决先卸载设计期包Component → Install Packages 里 Remove重新 Build 运行期包再 Build 设计期包最后 Install重启 IDE。4.2 现象编译时报Unit TMSXXX not found原因Library Path 没有包含对应的源码子目录或者路径写错了。解决在 Tools → Options → Library 里逐条检查确保每个含.pas的目录都在。可以用Everything之类的工具搜一下缺失的单元文件名定位它在哪个子目录。4.3 现象运行时弹出Class TAdvStringGrid not found原因运行期包的 DLL 或 BPL 没有随程序发布或者项目里引用了设计期包。解决检查项目的运行时包列表确保只引用运行期包。发布时把对应的 BPL 文件一起带上或者干脆用静态链接的方式编译。4.4 现象表格控件在 Win64 下显示异常或崩溃原因部分 TMS 版本在 Win64 下的某些控件存在兼容性问题尤其是涉及 GDI 资源操作的。解决先确认你用的 TMS 8.5.1 是否官方声明支持 XE 10.3 的 Win64。如果问题只在特定控件上出现可以尝试用 Win32 编译或者到 TMS 的更新日志里查是否有相关修复。4.5 现象安装多个 TMS 版本后 IDE 启动报错原因不同版本的包注册了相同的单元名IDE 加载时冲突。解决在 Install Packages 里只保留一个版本的设计期包其余 Remove。运行期包也要确保项目引用的是正确版本。5. 进阶技巧让 TMS 8.5.1 在 XE 10.3 上跑得更稳5.1 用条件编译隔离版本差异如果你同时维护多个 Delphi 版本的项目可以在代码里用条件编译区分 TMS 的调用方式。XE 10.3 对应的条件符号是VER340TMS 自己也会定义一些版本宏。常见做法是{$IFDEF VER340} // XE 10.3 Rio 下的特定设置 AdvStringGrid1.Options : AdvStringGrid1.Options [goRowSelect]; {$ENDIF}这样在升级 IDE 时旧代码不会因为 API 变化而直接崩掉。5.2 自定义绘制与性能取舍TMS 的表格控件支持OnGetCellColor、OnDrawCell等事件可以做出很漂亮的界面。但血泪经验是在数据量超过几千行时自定义绘制会明显拖慢滚动速度。我一般会先关掉不必要的绘制事件用默认渲染跑一遍性能再按需开启。如果确实需要复杂绘制考虑用虚拟模式Virtual Mode只渲染可视区域。5.3 备份与回滚编译前的后悔药在动手编译 TMS 之前我习惯先把 IDE 的包配置导出备份。Delphi 的包注册信息存在注册表里一旦装乱了重装 IDE 是最后手段。可以用 IDE 自带的 Export 功能或者手动记录当前已安装的包列表。这样即使新版本装出问题也能快速回滚到之前的状态。5.4 验证安装是否彻底一个简单的验证方法新建一个空 VCL 项目拖入三个不同的 TMS 控件比如表格、按钮、编辑框编译运行然后关闭再打开项目确认控件属性没有丢失。如果属性丢失或 IDE 报错说明包注册不完整需要重新检查设计期包的安装。从那以后我每次装 TMS 新版本都强制走一遍“备份包配置 → 编译运行期 → 编译设计期 → 重启 IDE → 拖控件验证”的流程再也没出现过装完找不到控件的情况。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询