恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Delphi跨框架开发实战:TMS FNC UI Pack安装配置与使用指南

  • 首页
  • 资讯中心
  • /
  • Delphi跨框架开发实战:TMS FNC UI Pack安装配置与使用指南

相关资讯

Claude增强工具解析:浏览器脚本原理、安全风险与合规实践 2026/9/1 13:16:07
AssetStudio实战指南:Unity AB包解析与资源导出全流程 2026/9/1 13:16:07
巨型机器人开发实战:从ROS2仿真到硬件部署的技术栈解析 2026/9/1 13:11:07

最新资讯

微信4.0.3.36更新后防撤回失效?PC版微信防撤回补丁恢复完整指南
2024秋招蚂蚁集团工程研发岗笔试复盘:题型、踩坑与备考建议
Pandas金融统计实战:从数据清洗到回归策略回测
PDF论文翻译:3分钟装好,公式排版原样保留
科目二直角转弯全解析:从扣分规则到标准化操作流程
如何下载整门Udemy和Hotmart课程?OmniGet课程下载器与离线播放器完全指南

今日推荐

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Delphi跨框架开发实战:TMS FNC UI Pack安装配置与使用指南

发布时间:2026/9/1 13:16:07
Delphi跨框架开发实战:TMS FNC UI Pack安装配置与使用指南 简介本资源是面向Delphi 12.3开发者的跨平台UI控件库TMS FNC UI Pack v6.2.0.0完整安装包适用于Windows、macOS、Linux及Web通过WebAssembly等多目标平台的FMX与VCL项目开发显著提升界面现代化程度与开发效率。压缩包共含2000个文件体量29.85MB其中556个.pas源码文件构成核心组件逻辑163个.dproj与157个.dpr提供各平台示例工程87个.dfm与67个.fmx分别对应VCL与FireMonkey界面设计另有大量.ico、.jpg、.svg等资源文件支持高DPI与主题切换配合.csv数据样例与.html文档便于快速上手。目前已有55人下载学习开发者可直接集成使用全部控件、查阅官方示例源码、复用图标与皮肤资源并基于提供的部署脚本如movefiles.bat和配置文件.deployproj、.bat完成自动化构建与发布。1. 为什么还在用Delphi聊聊TMS FNC这套控件说实话每次提到Delphi总有同行问我这都什么年代了你还抱着Pascal不放这话我听了快十年。但现实是除了Delphi我还没找到哪套工具能让我一个人同时搞定Windows桌面客户端、Android PDA应用、macOS工具链还不用重写业务逻辑。尤其最近几年Delphi 12.3在64位编译、泛型增强、字符串处理这些环节上确实跟上了时代配合TMS这类的第三方控件生态经典IDE的能量依然很猛。TMS FNC UI Pack全称是TMS Framework Neutral Components UI PackTMS官方管它叫跨框架控件包。这套控件最大的卖点是同一套API同一套UI逻辑可以在VCL、FMX、LCL三种框架下通用。对于需要在Windows端做管理系统、又要在Android PDA上做移动采集、还要顺手出个macOS版本的项目来说一套代码三端跑这个价值不用我多解释。所以这篇博文我打算从实际接手TMS FNC UI Pack v6.2.0.0这个版本开始完整走一遍安装、踩坑、编码、排查的流程。不管你是刚入门的Delphi新手还是已经被第三方控件折磨过无数回的老手这篇文章的目标只有一个让你拿到这套控件就能干活不浪费一下午在IDE报错和包依赖上。我当前的环境是RAD Studio 12.3Delphi 12.3因为12.x版本的IDE架构和旧版差异不小组件安装方式、包管理机制都有变化如果你用的还是Delphi 10.4或XE8个别细节会有出入需要注意甄别。2. 环境准备安装前的三个关键判断2.1 安装包形态与版本兼容性确认你拿到手的文件通常是TMS FNC UI Pack_v6.2.0.0.rar这类压缩包。解压后里面一般会有src目录完整的控件源码Pascal单元文件。packages目录按Delphi版本和框架组织的包文件.dpk / .dproj。demo目录官方示例工程强烈建议不要删后续排查问题全靠它。docs或help目录CHM帮助文件、PDF手册。redist或lib目录编译好的运行时库部分版本提供。我见过不少同事拿到安装包第一步就是双击某个Setup.exe自动安装。TMS这套控件其实更推荐手工安装原因主要有两个第一自动化安装器有时会检测不到最新版RAD Studio的IDE环境装完IDE里找不到任何TMS控件第二手工安装你能清楚知道每个文件被放到了哪里后续升级或卸载不会留下一堆脏路径。在动手之前先确认版本兼容性。TMS FNC UI Pack v6.2.0.0官方支持RAD Studio 12.3我在实际安装中没有遇到版本拦截的问题。但如果你同时在机器上装了Delphi 10.4、11.x、12.x多个版本需要注意TMS FNC的包文件在不同版本间通常不能混用一定要选对对应的Win32、Win64等平台目录。另外确认你的RAD Studio已经打完了官方最新补丁补丁版本不一致有时候会导致控件包编译时报奇怪的错误。2.2 解压策略与Library Path配置要点Delphi的Library Path库路径配置是个看似简单、实际上最容易出错的地方。如果配置不对最常见的现象就是编译时找不到TMSFNC...相关单元或者运行时弹一堆File not found。我的操作顺序是这样的第一解压。建议把整个控件包解压到一个稳定路径比如D:\Components\TMSFNC\v6.2.0.0不建议解压到Program Files这种带权限限制的目录也不建议解压到桌面或下载目录重装系统、误删文件风险太高。路径里不要带中文和空格这个老生常谈但每次都会有人踩。第二在IDE中配置Library Path。打开Delphi 12.3菜单栏选择Tools Options Language Delphi Library在Library path里添加以下目录控件源码目录D:\Components\TMSFNC\v6.2.0.0\src编译输出目录D:\Components\TMSFNC\v6.2.0.0\lib第三确认Browsing Path。有时候Library Path配好了Ctrl点击代码跳转还是进不去源码需要把src目录也加到Browsing Path里。第四保存配置后重启IDE。这一点很关键Delphi对Library Path的缓存策略有时不够智能不重启会读到旧的路径配置。2.3 包编译与IDE工具栏注册配置完路径之后进入正式安装步骤。打开packages目录你会看到类似这样的子目录结构Delphi112对应RAD Studio 11.xDelphi120对应RAD Studio 12.0/12.1Delphi123对应RAD Studio 12.3进入Delphi123目录里面有.dproj或.dpk格式的包工程。通常你需要按顺序编译以下三类包运行包Runtime Packages一般命名为TMSFNCCorePackage、TMSFNCUIPackage等。设计包Design-Time Packages一般命名为TMSFNCCoreDesignPackage、TMSFNCUIDesignPackage等带Design字样。可选扩展包比如TMSFNCMapsPackage地图、TMSFNCPDFPackagePDF等。操作时在项目文件上右键选择Compile编译通过后再右键选择Install。安装完成时Delphi会弹窗提示之后打开IDE的组件面板会看到一组以TMS FNC开头的控件页签。一个常见问题是编译时提示找不到TMSFNCGraphics.pas等基础单元。这通常是因为Library Path没配好或者当前包工程里的相对路径跟你的解压路径不匹配。最简单的解决方式直接用记事本打开.dproj文件检查里面的DCC_UnitSearchPath节点是否指向了正确的src路径不对的话手动改一下再重新加载。3. 核心模块拆解FNC UI Pack到底带给我们什么3.1 TMS FNC Grid表格控件的跨框架体验TMS FNC Grid是这套控件包里最核心、也是我日常用得最多的控件。平时做管理系统数据表格是刚需Delphi原生的TDBGrid在功能上早就不够用了尤其在界面美化和交互层面。TMS FNC Grid支持大数据量虚拟加载我实测过一个百万行级别的日志查询表开启Options里的VirtualMode后滚动流畅度基本不掉帧。多列排序、分组、汇总这些在原生控件里需要写大量事件但在FNC Grid里是内置属性。单元格自定义绘制支持每个单元格单独指定颜色、字体、对齐方式。多表头、冻结列、树形展开做复杂报表时这些功能特别好用。我在做VCL版本的进销存系统时用了FNC Grid做销售明细展示。一个比较关键的参数是OptionsDrawing.AlternativeRowColoring开启后隔行变色整体阅读体验好了不少。另外OptionsBehavior.CellHints可以控制鼠标悬浮时是否显示单元格内容提示。需要注意一点FNC Grid默认的行高、列宽在不同框架下会略有差异。FMX下因为坐标系统基于像素但DPI适配机制不同表格边框线有时候会显示得比VCL粗一些。如果你要精确控制可以设置ScrollOptions.SmoothScrollMode和Font.Size来统一外观。3.2 从UI控件全景到复合界面搭建除了GridTMS FNC UI Pack里还有一批常用的UI控件按我的使用频率排列TMSFNCTreeView树形控件支持多选、拖拽、图标自定义做目录树和权限配置界面特别好用。TMSFNCRichEditor富文本编辑器支持HTML导入导出适合做公告发布、邮件编辑功能的嵌入。TMSFNCToolBar和TMSFNCStatusBar工具栏和状态栏在FMX下原生控件没有TMS补了这个缺口。TMSFNCNavigation侧边导航栏可以折叠展开适合做移动端PDA应用的菜单。TMSFNCWaitControl加载等待动画处理异步任务时很实用。我举个例子项目里需要做一个带查询条件、结果表格、详情面板三部分的管理界面。传统做法是放三个Panel手动调整布局。用TMSFNC的话可以这样组织顶层放TMSFNCToolBar上面放查询按钮和常用操作。左侧放TMSFNCTreeView用来展示部门或分类。中间放TMSFNCRichEditor或TMSFNCCustomGrid作为结果区。底部放TMSFNCStatusBar显示状态信息。这样整个界面结构简单而且在不同框架下VCL/FMX表现基本一致不需要分别调样式。实际验证下来FNC控件这层UI框架无关抽象做得挺扎实。3.3 数据交互里的隐藏武器JSON与HTTP组件很多人只把TMS FNC当成界面美化控件其实这套包里面还藏着一组处理数据交互的辅助类比如TMSFNCJSONObject、TMSFNCHTTPRequest。在做系统对接时特别好用尤其是微信公众号、API接口这类RESTful服务。我在一个库存同步项目里用到了TMSFNCJSONObject解析服务端返回的JSON数据。相比Delphi自带的System.JSONTMS的封装更直观支持点号路径访问比如json.GetValue(data.items[0].sku)。另外TMSFNCHTTPRequest异步请求的处理也做得不错请求完成事件里直接拿到解析好的对象避免了很多回调地狱。需要提醒的是如果你做的项目主要跑在Windows且不需要UI直接用Delphi原生网络组件就够了没必要为了一个JSON库引入整套FNC。FNC的价值在于UI与数据交互一体、跨框架复用这不是纯粹的后端组件。我的建议是如果你本来就在用FNC做界面那么顺手用它的HTTP/JSON组件保持技术栈统一是合理的如果界面根本不用FNC单独拉JSON功能进来就有点多余了。4. 实操在VCL和FMX项目中使用TMS FNC控件4.1 从零搭建一个跨框架的仪表盘界面下面我用一个具体的例子来演示FNC控件的实际使用。假设我要做一个设备运行监控界面需要展示设备状态概览在线数量、告警数量实时数据表格设备ID、温度、运行状态历史数据曲线在FMX里有一个控件叫TMSFNCTreeView可以展示设备列表TMSFNCCustomGrid展示实时数据TMSFNCPersistentObject做本地配置存储图表部分则用TMSFNCGraphics或者TMSFNCPieChart之类的图表控件来画仪表盘。一个最简化的界面结构可以是// 使用 TMSFNCGrid 展示设备列表 FNCGrid1.BeginUpdate; try FNCGrid1.Columns.Add(设备ID); FNCGrid1.Columns.Add(温度); FNCGrid1.Columns.Add(状态); FNCGrid1.AddRow([DEV-001, 36.5, 在线]); FNCGrid1.AddRow([DEV-002, 48.2, 告警]); finally FNCGrid1.EndUpdate; end;代码不用多关键在于BeginUpdate/EndUpdate这一对方法。在大量插入数据时如果不加这两个调用表格会每插入一行就刷新一次性能会明显下降。我在第一次做1万行批量数据演示时没注意这个细节结果界面卡了大概两秒加上之后几乎是瞬时的。设备状态概览部分可以用TMSFNCProgressBar来做告警百分比展示用TMSFNCLabel加自定义样式来做状态文本。这些控件都有一个共同的基类TMSFNCComponent或TMSFNCVisualControl所以很多通用属性比如BoundsRect、Visible、Tag在不同控件上表现一致迁移到VCL/FMX时也不需要改太多。4.2 FMX移动端PDA/Android适配要点FNC这套包在FMX移动端的表现是我当初入手它的最大理由之一。很多公司现在都在做Windows管理后台 Android PDA扫码采集的组合方案。以前我都是写两套界面代码维护量翻倍现在用FNC可以省掉不少重复工作。我在一个仓储项目中用Delphi 12.3 FMX TMS FNC做了一套PDA端的入库扫描程序。核心功能包括通过摄像头或扫码枪获取条码。在TMSFNCCustomGrid中实时显示已扫描的物料清单。使用TMSFNCActivityIndicator显示上传进度。扫描结果封装成JSON通过TMSFNCHTTPRequest异步提交到后端。这里有一个FMX特有的坑Android设备屏幕密度不同。FNC在FMX下虽然会自动适配DPI但某些PDA设备比如工业手持终端的屏幕分辨率比较特殊可能出现字体缩放异常。我当时的处理方式是在FormCreate里动态调整控件缩放procedure TForm1.FormCreate(Sender: TObject); var s: Single; begin s : TPlatformServices.Current.GetScreenScale; FNCGrid1.Font.Size : FNCGrid1.Font.Size * s; FNCGrid1.Columns[0].Width : FNCGrid1.Columns[0].Width * s; end;不过这个只是示意图实际项目里我更倾向于用TMSFNCToolBar的AutoSize机制配合布局控件自动适配而不是手动做乘法缩放。手动缩放很容易导致间距混乱。另外在Android下使用FNC的HTTP组件时需要确认Manifest里有网络权限。Delphi 12.3的AndroidManifest在Project Options Application Entitlements和Permissions里配置漏掉INTERNET权限会导致请求直接失败而且错误信息不直观排查起来很头疼。4.3 VCL项目集成时的主题定制实战VCL项目里I强烈推荐花时间研究一下FNC的Theme属性。FNC主题系统在VCL下的表现甚至比原生VCL的Style还要细腻。比如给主界面设置深色主题可以用FNCGrid1.Theme : Dark; FNCGrid1.ThemeManager.Enabled : True; FNCGrid1.ThemeManager.DarkMode : True;这段代码在运行时就可以切换主题不需要重新编译。如果你做的是客户端产品用户可切换主题这个功能用FNC实现起来成本很低。不过有个细节要注意FNC主题的名称大小写是敏感的dark和Dark有区别如果写错了控件会保持默认主题且不报错这个坑很容易被忽略。建议在代码里用常量定义主题名避免手误。另外控件设置ThemeManager.Enabled : True之后局部修改的颜色样式在某些版本下会被全局主题覆盖这是设计行为。不要试图通过修改单个控件的颜色去对抗主题正确做法是自定义主题文件JSON格式或者直接在OnCustomizeTheme事件里针对控件名做条件设置才能生效。5. 常见问题与排查技巧实录5.1 安装后IDE丢失控件、每次都要重新拖放怎么办这个现象非常典型也是很多Delphi开发者最头疼的我明明装好了控件也放到了窗体上但保存工程关闭后重新打开IDE提示找不到XX类所有控件变成了灰色的占位图标需要重新放置而且放好后保存下次打开还是这样。我遇到过好几次排查看下来根因基本集中在三类设计时包没有真正安装成功。只是编译了运行时包没有Install设计时包IDE里能看到控件但无法持久化到窗体上。运行时包缺失或版本不一致。窗体文件.dfm/.fmx里记录的类名跟你当前安装的包版本不一致反序列化失败后IDE会退化为灰色占位符。工程文件里的Package引用被移除。打开Project Options Packages勾选Build with runtime packages并检查包含的运行时包列表里有没有TMS FNC相关条目。第一种情况重新Install设计包即可。第二种情况最快的方法是确认当前工程引用的控件包版本跟IDE里一致尤其如果你机器装了多个Delphi版本很容易出现IDE里安装的是12.3的包但工程文件记录的是11.x的控件引用这种错位。我建议全新安装后不要从旧工程直接打开而是先创建一个新工程拖几个FNC控件保存再打开确认没问题了再合并旧代码。第三种情况在Packages界面把对应TMSFNC...的勾选加上。还有一个隐蔽原因如果工程使用的是相对路径引用requires包而相对路径解析之后找不到.bpl文件也会出现类似问题。检查一下工程文件.dproj里的RuntimePackage节点必要时改成绝对路径。5.2 编译报错与Library Path的坑编译时报错常见的消息有这几类错误提示原因分析解决方案E2003 Undeclared identifier: TMSFNC...单元搜索路径没生效或漏加了uses子句检查Library Path是否包含src目录确认在uses中正确引用单元E2209 Already defined其他控件或旧版本TMS与当前版本冲突卸载旧版TMS或调整Library Path顺序把新版路径放在前面E2225 Never-build package运行时包没有完全编译进入packages目录按顺序编译所有RuntimePackageFile not found: TMSFNCGraphics.dcu单元搜索路径没有指向包含.dcu的目录或.dcu未生成重新编译一次运行时包确认输出目录中有对应的.dcu文件这里面我想重点说下E2209 Already defined。这个问题出现的原因往往是机器上装了不止一个版本的TMS系列控件或者某些第三方工具比如做报表、条码的控件内部也带了FNC的基础单元。Library Path的搜索顺序决定了先命中哪个单元。解决方式打开Tools Options Library把新版TMS的src目录移动到所有旧版本目录之前。如果还不行直接删除旧版本的路径。另外有些报错只在Win64平台出现Win32编译正常。这是因为64位编译器对单元重名、符号冲突更敏感。如果你遇到这种诡异现象先把项目的Target Platform切到Win32确认是否只有64位报错再针对性地检查有没有第三方库混用了32位/64位的dcu文件。5.3 版本冲突与既有工程迁移注意事项做Delphi开发最头疼的场景之一就是升级控件之后现有工程编译不过。我每次拿到TMS FNC新版本都不会直接在生产环境上升级而是先在一台干净的机器上做测试模拟完整的升级路径。具体踩过的坑主要有属性和方法被废弃/改名。FNC的API在版本间偶有调整比如某些属性从Options子对象迁移到了OptionsDrawing、OptionsBehavior等。如果原工程用了旧API新版本里编译报错通常需要手动查帮助文档找到新写法。主题文件不匹配。6.x版本对主题JSON的格式做了部分调整如果你自定义主题升级后可能出现部分样式失效。解决办法在新版本demo目录里找主题模板对照修改自己的主题文件。运行时和设计时包版本不一致。如果你的主程序引用了旧版.bpl但设计时加载的是新版保存窗体后会出现类名冲突。最稳妥的升级顺序是先卸载所有旧版TMS包编译新版运行时包安装新版设计时包再打开工程清理Cache后编译。第三方库的间接依赖。如果你的工程还用了其他依赖FNC的库比如某些报表控件升级FNC前一定要确认这些库是否兼容新版。通常TMS官网会列出FNC版本的兼容矩阵升级前先查一下。我在一次从v5.x升级到v6.x的项目里就遇到了一个第三方报表控件调用了旧版FNC的TMSFNCGraphics内部方法结果运行时直接Access Violation。最后联系控件厂商要了适配新版FNC的补丁包才解决。所以建议大版本升级前最好把所有的第三方控件都列一个清单逐一确认版本兼容性。5.4 移动端部署时FNC控件的额外注意事项如果你在FMX框架下使用FNC并且目标是Android或iOS还有几个额外需要特别注意的问题Android API级别Delphi 12.3默认支持较新的Android API但某些TMS FNC版本内部用到的第三方原生库比如某些icon字体库、打印机SDK可能需要额外Android权限或API适配。如果真机上运行时界面正常但功能如扫码、GPS、网络不响应先在Release模式下看日志过滤关键字TMS或FNC往往能定位到具体是哪个模块的问题。字体与图标资源FNC默认使用系统字体但在Android上不同厂商ROM自带字体差异大尤其是中文环境。如果你使用了FNC的图标字体比如内嵌的TMSFNCGraphics库的自带图标它们依赖的是TMS内部打包的字体资源在部分设备上可能出现图标显示为方块。解决办法在FormCreate里显式指定字体资源名一般是通过TMSFNCUtils的字体注册方法或者干脆使用图片图标替代。编译器指令FNC在FMX下需要开启FRAMEWORK_NEUTRAL条件编译其实不是FNC自己处理了。你需要关注的是PROJECT_FMX之类的指令也不是。这个问题我补充解释一下:FNC控件在FMX和VCL工程里的用法是透明无差别的你完全不需要写条件编译去区分框架。这也是FNC的核心价值。真正需要条件编译的是Framework无关的代码比如你调用了原生FMX的TCaptureDevice摄像头扫码那部分就必须包在IF DEFINED(ANDROID)或IF DEFINED(MSWINDOWS)里做平台差异。调试与日志移动端调试不方便建议在开发时就给FNC控件挂上OnError或OnException事件把异常信息保存到日志文件真机上出问题时能快速定位。我之前遇到过一个问题某个页面在Windows上运行完全正常但到了Android真机上FNCGrid的切换会导致应用闪退。最后加了日志才发现是因为某一行数据里带有特殊字符FNC在内部绘制时触发了异常Windows上字符渲染引擎容错性好Android上直接崩了。这种情况用日志才能快速抓到根因。5.5 谈谈热词里那些高频问题的关联思路写完技术内容我发现不少开发者搜索的其实是delphi用sleepdelphi字符串函数json delphi这类基础问题。这轮我也帮大家把常见场景串一下当你做FNC界面交互时这些点会怎么遇到。关于Sleep任何UI程序都不建议在主线程用Sleep后果是整个界面卡死FNC的动画和交互也会全部冻结。需要用等待效果时优先用TTimer或TMSFNCWaitControl配合异步逻辑。比如扫码上传后要等后端返回正确做法是发起异步请求在回调里更新UI而不是sleep(3000)假装加载中。关于字符串函数在Delphi代码里做字符串处理时TStringHelper、TStringBuilder、Format这组原生工具基本够用但如果字符串内容要展示到FNC表格里注意Unicode和DBCS的差异。PDA扫码枪扫出来的字符有时候会带#0或特殊控制符建议入库和展示前统一做一次Trim和非法字符过滤避免UI显示异常。关于JSON解析从扫码设备或者后端接口拿到JSON时建议先用一个简单的JSON viewer类程序或者用单元测试框架写个测试用例验证格式再用TMSFNCJSONObject解析。我见过太多因为接口返回了空字符串或字段缺失导致解析异常的问题所以强烈建议取字段前先TryGetValue或者做IsNull判断不要直接GetValue。6. 关于工具链与个人项目开发的一些实际体会这篇内容写到这算是把TMS FNC UI Pack从安装到使用从VCL到FMX移动端从常见报错到版本冲突都过了一遍。对一个用Delphi做项目的老手来说FNC这套控件解决的不是UI能不能做出来的问题而是同一个界面能不能在多个框架和设备上以相同体验跑起来的问题。我个人实际的推荐是如果你平时的主要开发语言就是Delphi并且同时有桌面和移动端需求TMS FNC UI Pack值得作为首选尝试。它在Windows平台的稳定度和速度不必说移动端如果主要做工具类、数据采集类、简单管理类的App完全能撑得住。真要开发复杂的高交互App还是建议评估一下原生Flutter或Kotlin这不是FNC不够好而是工具定位不同。最后再分享一个小技巧每次升级完控件版本后在干净的工程里把demo跑一遍再逐个打开自己项目的窗体用IDE的View Type Library或组件检查器确认每个FNC控件引用的属性是否完整。我有一回就是升级后只测试了主界面结果一个报表子窗体里的FNC Grid在运行时才报Property not found排查浪费了大半天。先验证、再改代码、最后反复确认这顺序能省掉你很多时间。本文还有配套的精品资源点击获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号