尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

TMS 8.5.1 与 Delphi 10.3 组件安装编译及 WEB Core 实战指南

TMS 8.5.1 与 Delphi 10.3 组件安装编译及 WEB Core 实战指南 简介TMS 8.5.1 for Delphi XE10.3 Rio 是一套面向 Delphi 开发者的商业级组件套件适配 Embarcadero Delphi XE10.3 环境覆盖 Windows、macOS、iOS 与 Android 等多平台开发适合需要快速构建用户界面、数据交互、报表图表与网格应用的桌面及跨平台项目。整个压缩包以 7z 格式提供版本为 TMS 8.5.1.0 for DX10.3定位明确帮助中高级 Delphi 开发者减少重复编码提升交付效率。压缩包内共 6147 个文件约 77.81MB主要包含 1710 个 pas 源码、1204 个 dcu 编译单元、497 个 dfm 窗体、304 个 dproj 工程文件以及大量 res、bmp、png、jpg 等资源文件既有完整组件源码也有可直接引用的设计期文件便于安装、查看与二次修改。内容预览中可见多语言词典文件与皮肤资源说明套件覆盖国际化与界面美化场景对需要面向多语言用户的项目尤为实用已有 567 人学习/下载。该版本经过了 XE10.3 Rio 环境测试可较为放心地集成到现有工程借助其丰富的 UI、数据处理、报表和图表控件能显著缩短界面开发周期同时保持运行稳定性。 如果你干 Delphi 这一行手里拿到一个安装包叫“TMS 8.5.1 For Xe 10.3”那基本不用多想这是 TMS Software 组件库针对 Delphi 10.3 Rio 发布的版本。我最近刚好在一台 Windows 10 机器上把 TMS 8.5.1 从解压、安装到 IDE 编译再到用 TMS WEB Core 跑通一个端到端小项目前前后后踩了不少坑写出来给后面接手的兄弟省点时间。这篇文章会围绕 TMS 8.5.1 与 Delphi 10.3 的版本匹配、安装编译流程、常见报错排查以及 TMS WEB Core 的第一次实战展开不管你是第一次装第三方组件还是从旧版 Delphi 迁移整套组件库这份清单都能直接抄作业。这里先泼一盆冷水如果你是被“TMS 中继器”这个关键词带进来的那个做网络硬件的中继器和本文说的 Delphi 组件库完全是两码事千万别按硬件手册来配 IDE还有这里的 XE 也跟 Intel Iris Xe 显卡里的 XE 没什么关系装完组件后显卡性能不会受影响别被命名撞车带偏。1. 先搞清楚TMS 8.5.1 和 Delphi 10.3 的版本匹配1.1 版本名称这段历史理解错了后面全是坑TMS 组件包的版本号和 Delphi 的版本号是两套体系很多新手会在这一步直接卡死。标题里的“Xe 10.3”其实指的是 Delphi 10.3 Rio这是 Embarcadero 从 XE 系列改名成 10.x 系列之后的版本。Delphi 历史上从 Delphi XE、XE2 一直走到 XE8之后又改回 “10” 开头10.1 Berlin、10.2 Tokyo、10.3 Rio、10.4 Sydney 都是这一条线。所以你会看到有些安装包写 “For XE 10.3”有些写 “For 10.3”本质是同一个目标环境只是厂商在版本命名上没有完全同步。TMS 8.5.1 则是 TMS 组件库自己的迭代它会在安装时自动识别 IDE 版本但前提是你得先把对应的 Delphi 版本装好。1.2 确认你手里的 TMS 8.5.1 是哪一个产品线TMS Software 旗下产线非常多常见的有 TMS VCL UI Pack、TMS Component Pack、TMS WEB Core、TMS XData、TMS FlexCel 等。标题只写了“TMS 8.5.1”没有写具体是哪个产品这种情况在网上下载的资源包里尤其常见解压出来往往是一个“Bundle”合集里面同时包含 VCL 控件、FMX 控件和 WEB Core 工具。我建议你安装之前先打开压缩包看一眼目录结构如果里面有Packages、Source、Lib这类目录大概率是组件包合集如果里面有TMS WEB Core单独的安装程序说明这一版还附带 Web 前端开发能力。确定好分支后再决定是只装 VCL 控件还是连 WEB Core 一起装避免给 IDE 塞进一堆用不上的包。1.3 环境准备清单照着我这份来就行操作系统Windows 10 64 位或 Windows 11Delphi 10.3 官方支持 Win7 以上但建议直接用 10/11。Delphi 版本最好是 10.3.3 Update 3因为 TMS 8.5.1 发布时大概率是以 10.3.3 作为基准测试的10.3.0 和 10.3.1 实测偶尔会有编译兼容问题。管理员权限安装组件需要写注册表、注册 IDE 包右键以管理员身份运行安装程序。不要开着 Delphi IDE 安装组件先全部关闭否则包文件被 IDE 占用编译会报 E1025 之类的问题。2. 动手前必做环境检查和准备工作2.1 杀毒软件误报处理这一条最容易被忽略TMS 的安装包会包含大量动态生成的.bpl文件部分杀毒软件会把它当成潜在风险直接隔离结果就是你装完后工具面板里一个 TMS 控件都看不到。我第一遍安装时就碰到这情况折腾了半天发现是 Windows Defender 把tms802.bpl给隔离了。解决办法很简单安装前把 TMS 解压目录和 Delphi 的Library目录加入杀毒软件白名单安装完成后如果控件没出现立刻去隔离区看有没有被吞掉的.bpl文件恢复后重启 IDE。这一步至少能帮你省掉一半的排错时间。2.2 确认授权文件或试用模式正版用户一般会在邮件里收到 License 文件和激活码安装目录下会有tms.lic之类的授权文件。如果你是试用模式TMS 组件在 IDE 中能正常拖拽使用但编译出来的程序运行一段时间后会弹出试用提醒。我建议你装完后立刻确认授权状态打开 Delphi 的Components Install Packages找到 TMS 相关包右键查看版本信息确认是否显示 Licensed。没有授权也没关系TMS 官方提供试用期只是不要拿试用版直接上生产环境风险太大。2.3 备份现有 IDE 配置和组件库这步看起来多余但我在迁移组件库时吃过亏。装新版 TMS 前最好把 Delphi 的当前配置备份一下。具体操作是关闭 IDE复制C:\Users\你的用户名\AppData\Roaming\Embarcadero\BDS\20.0整个目录到别处这个目录下保存着 IDE 的包注册信息、快捷键、窗口布局。如果安装 TMS 后 IDE 启动黑屏或者工具面板崩溃直接删除新配置、把备份目录还原回去就能恢复。代价只是几分钟省下的却是重装 IDE 的时间。3. 核心步骤TMS 8.5.1 的安装与组件编译3.1 解压安装包看清目录结构再点下一步把压缩包解压到纯英文路径比如D:\Components\TMS\路径里不要带中文和空格。TMS 安装程序在识别 Delphi 版本时会读取注册表里的 BDS 路径如果你的工作目录带中文部分版本的编译脚本会直接报错找不到bds.exe。解压后根目录下通常会有Setup.exe或Install.exe双击运行后选择你已安装的 Delphi 版本勾选需要安装的组件集。如果你拿到的是源码包没有安装程序那就需要手动编译往下看。3.2 手动编译 .dpk 文件的完整流程没有安装程序时你需要手动编译 TMS 的包文件。打开 Delphi 10.3通过File Open打开 TMS 源码目录下的Packages文件夹找到后缀为.dpk的包文件按顺序编译先编译运行时包通常叫tmsZCore.dpk之类再编译设计时包通常是tmsDXPack.dpk或类似名称。编译时右键项目管理器里的包选择Compile编译通过后选择Install这样控件才会出现在工具面板中。这个顺序很重要如果先装设计时包再装运行时包IDE 会报Package ... does not exist。3.3 配置 Library Path 和 IDE 包注册编译安装完成后还需要把 TMS 的源码路径加入库搜索路径否则你新建项目后编译会报F2613 Unit TMS.Types not found。打开 Delphi 的Tools Options Environment Options Delphi Options Library在Library Path里追加 TMS 的Source目录和Lib\RS10.3\Win32目录。注意这里要根据你实际安装的路径调整比如我这边是D:\Components\TMS\Source D:\Components\TMS\Lib\RS10.3\Win32加完之后重启 IDE再通过Components Install Packages检查 TMS 相关包是否已经出现在已安装列表中。没有出现的话点击Add手动找到.bpl文件加载。3.4 验证安装新建 VCL 应用拖一个 TMS 控件试试水验证安装是否成功最直接的方法是新建一个 VCL 应用程序在工具面板里找到TMS分类随便拖几个控件到窗体上比如TAdvStringGrid或TAdvMemo然后按下F9运行。如果编译通过且窗体正常显示说明基础安装没问题。我习惯再做一个更严格的检查使用一次Build不是 Compile确认设计时包和运行时包没有重复链接避免以后每次启动 IDE 都弹出 “Package already exists” 的提示。4. 用 TMS WEB Core 跑通第一个端到端 Demo4.1 为什么我会单独把 TMS WEB Core 拎出来说TMS 8.5.1 这个版本里最值得关注的是 TMS WEB Core。它允许你完全用 Object Pascal 写前端编译成 JavaScript然后在浏览器里运行。对于熟悉 Delphi 但不想碰 JavaScript 的团队来说这是把现有业务逻辑直接搬到 Web 端的最短路径。我实测下来它的调试体验比想象中好可以直接在 IDE 里设置断点也可以借助浏览器开发者工具调试生成的 JS。虽然生态成熟度比不上 TypeScript React但胜在语言统一、上手快尤其是做后台管理系统、数据看板这类强表单需求的应用效率非常可观。4.2 新建 TMS WEB Core 项目的正确姿势安装完 TMS WEB Core 后Delphi 的File New Other里会出现TMS Web分类选择TMS WEB Project。建议先选Single Page Application模板生成的工程结构最清晰。项目创建后你会看到一个WebForm单元默认继承TWebForm可以在上面直接拖放TWebButton、TWebEdit这类 Web 控件。写一个最简单的交互逻辑type TFormMain class(TWebForm) btnHello: TWebButton; edtName: TWebEdit; procedure btnHelloClick(Sender: TObject); end; implementation procedure TFormMain.btnHelloClick(Sender: TObject); begin btnHello.Caption : Hello, edtName.Text; end;这段代码在 Delphi 里写起来和 VCL 几乎没有区别但编译产物是wwwroot目录下的.js文件和一个index.html。运行项目后TMS WEB Core 默认会启动内置的 Web Server浏览器直接访问 http://localhost:8000 就能看到页面。4.3 部署到 IIS 和 Nginx 时要注意的路径问题TMS WEB Core 编译出来的前端是纯静态文件部署方式和普通站点一样。但有个细节容易踩坑如果是部署到子目录比如http://yourdomain.com/tmsapp/可以在项目设置里设置BasePath为/tmsapp/否则 JS 请求资源时会去找根目录结果 404。我一开始没设置Nginx 上直接白屏折腾了十几分钟才发现是路径问题。同样的原理如果后端 API 不是你当前的域名还需要在代码里处理跨域请求建议后端接口单独开启 CORS。4.4 配合 TMS XData 做端到端数据交互如果前端要用 TMS WEB Core后端最顺手的搭档是 TMS XData因为它俩的序列化和接口定义高度契合。XData 负责发布 REST 服务WEB Core 前端通过TWebHTTPClient或者TXDataClient访问接口。我可以给一个简单的思路XData 服务端定义一个TServerMethods类方法返回TDataSet或TJSONObject客户端通过TWebXDataClient调用。这样从前端界面到后端数据库全程用 Pascal 写完中间不会混入 JS 和 HTTP 细节非常舒服。5. 安装和开发中的高频报错与排查备忘5.1 编译报错“Unit not found”的排查顺序这个问题排在所有 TMS 相关问题第一位。检查顺序应该是确认包有没有编译成功确认设计时包运行时包都安装了确认 Library Path 里有没有包含 TMS 的Source目录最后确认有没有用错平台。Delphi 10.3 的 Win64 平台和 Win32 平台需要单独编译对应平台的包你只装了 Win32 的 TMS 包却在 Win64 平台编译项目肯定会报 Unit not found。我建议安装完成之后把Library Path里同时加上Lib\RS10.3\Win32和Lib\RS10.3\Win64省得切换平台时再折腾一遍。5.2 编译成功但工具面板没有 TMS 控件怎么办脚本编译成功不代表 IDE 一定加载了控件。这时去Components Install Packages看看如果已安装列表里没有 TMS 开头的包就手动添加.bpl文件。还有一种情况是你在编译时把设计时包安装到了错误的 IDE 版本比如 Delphi 10.3 的 IDE 却加载了为 Delphi 10.4 编译的.bpl会直接提示版本不匹配。遇到这种情况去 TMS 源码目录下找到对应 10.3 的包重新编译一遍不要拿网上别处的.bpl来偷懒。5.3 与其它第三方组件库的冲突TMS 组件数量多部分类和单位名容易和其它组件库撞车比如AdvOffice、TListView等。如果你同时装了 DevExpress 或 LMD工具面板上可能会弹出组件名称冲突警告。我的处理原则是把 TMS 和 DevExpress 分成两个不同的 IDE 安装目录用不同版本运行时隔离而不是把什么都塞进同一个 Delphi 实例里。如果必须共存那就只能靠调整工具面板的过滤和重命名别名来缓解但维护成本确实高。5.4 使用 Windows 10/11 时的兼容性问题TMS 8.5.1 发布时对应的操作系统比较古老但实测在 Windows 10 和 Windows 11 上都能正常使用。唯一需要留意的是安装程序如果需要写注册表建议右键属性里开启“以兼容模式运行”选择 Windows 7 或 Windows 8避免安装器因权限问题静默失败。另外Delphi 10.3 在高 DPI 屏幕上可能出现工具面板显示错位的情况这是 IDE 自身的问题解决方法是修改bds.exe的兼容性设置勾选“替代高 DPI 缩放行为”不影响 TMS 组件本身。6. 安装完成后我建议你做的一件事组件库装好不算完日常开发里最影响效率的是你用不用得惯这些控件。TMS 的官方 Demo 非常值得刷一遍尤其是TAdvStringGrid、TAdvMemo、TDBAdvGrid这几个高频控件官方 Demo 里包含大量属性组合和事件处理的现成代码很多时候项目里要的效果直接复制 Demo 改一改就行比自己翻帮助文档高效得多。我在实操中的习惯是单独建一个“控件测试项目”把每个 TMS 控件都拖到窗体上跑一遍 Demo 的常用属性遇到性能问题再回来查具体设置。这样等到真正做业务时你对每个控件的脾气已经大概有数而不会临到交付被某个控件的隐藏行为坑一把。如果你迁移到了 10.3建议顺手把 TMS 组件也更新到当前最新维护版旧版本对高 DPI、深色模式的支持确实差一截这点长期做客户端项目的应该深有体会。本文还有配套的精品资源点击获取
返回列表