1. RadStudio 10.3.3 Rio环境准备
作为Embarcadero旗下的旗舰级开发工具,RadStudio 10.3.3 Rio(内部版本号20.0)至今仍是许多Delphi和C++ Builder开发者的主力版本。这个版本在VCL框架支持、编译器优化和跨平台兼容性方面都有显著提升。我最近刚在一台新电脑上配置了完整的开发环境,这里把完整过程梳理成指南。
首先需要获取安装镜像。官方ISO文件可以通过Embarcadero会员账户下载,文件名为delphicbuilder10_3_3_7899_nt.iso。如果下载速度不理想,建议选择非高峰时段(比如工作日的早晨)进行下载,速度通常能提升5-10倍。安装时有个细节要注意:建议勾选"Install for all users"选项,这样可以避免后续出现权限问题。
对于学习用途的开发者,强烈推荐使用社区版(Community Edition)。这个版本功能与专业版几乎一致,包含完整的VCL和FMX框架支持,唯一的限制是不能用于商业项目开发。安装完成后,建议立即做两件事:在控制面板中关闭Windows Defender的实时保护(避免编译时误杀生成文件),以及将安装目录(默认在Program Files\Embarcadero下)添加到杀毒软件的白名单中。
2. TMS VCL UI Pack获取与解压
TMS VCL UI Pack是目前最全面的VCL控件套件之一,最新版本已经包含超过400个专业组件。与单独安装TAdvStringGrid等组件相比,直接安装完整套件更省事。我通常从官方渠道获取安装包,文件通常命名为类似"TMS VCL UI Pack 10.1.6.1 for 10.3.rar"的格式。
解压时有个关键技巧:不要直接解压到Program Files目录。由于Windows的UAC机制,建议先在D盘或用户目录创建临时文件夹(比如D:\TMS_Install),完整解压后再进行后续操作。解压后的目录结构通常包含这些关键部分:
- Source:包含所有控件的PAS源码文件
- Packages:针对不同RadStudio版本的工程组文件
- Demos:各控件的使用示例
- Help:离线帮助文档
特别注意:如果下载的是源码版(比如从CSDN获取的TMS Component Pack SRC),需要确认是否包含C++ Builder支持。有些老版本可能只提供Delphi工程文件,这时就需要先在Delphi环境下安装,再配置C++ Builder的路径。
3. Delphi环境下的控件安装
安装TMS控件前,建议先关闭所有打开的工程。我习惯先打开RadStudio 10.3(注意不是单独的Delphi或C++ Builder),通过Tools->Options进入环境设置:
在Delphi Options->Library下添加两个关键路径:
- 主源码路径:RadStudio安装目录\TMS
- 特殊组件路径:RadStudio安装目录\TMS\XlsAdapter(如果使用Excel相关组件)
在C++ Options->Paths and Directories中同步配置:
- Include Path添加上述相同路径
- Library Path添加相同路径
接下来打开tmsdXE12group.groupproj工程组文件(不同版本数字可能不同)。这里有个经验之谈:不要直接安装整个工程组,而是应该按需安装。比如主要使用TAdvStringGrid的话,就只安装TMS Grid System相关的bpl文件。右键选择Install时,如果遇到"无法注册包"的错误,通常是因为没有以管理员身份运行IDE。
安装成功后,建议立即在Delphi中新建一个测试工程,拖放几个TMS控件到窗体上测试。如果出现控件图标显示但运行时提示类未注册的错误,很可能是环境变量没刷新,重启IDE通常就能解决。
4. C++ Builder的兼容性配置
虽然TMS控件主要是用Delphi编写的,但在C++ Builder中同样可以完美使用。安装完成后,需要特别注意这些配置点:
在C++ Builder的全局包含路径中,除了之前设置的路径外,还需要添加:
- $(BDS)\TMS\Include
- $(BDS)\TMS\XlsAdapter\Include
对于64位项目,需要确保Win64平台也配置了对应的库路径。我遇到过这样的情况:32位程序运行正常,但切换到64位就报错,问题就出在路径配置不完整。
如果使用静态链接,记得在工程选项的Linker->Additional Options中添加必要的.obj文件引用。动态链接则要确保运行时bpl文件都能被找到。
测试时,建议创建一个简单的C++ Builder VCL工程,包含以下代码测试TAdvStringGrid:
#include <vcl.h> #include <TAdvStringGrid.hpp> void __fastcall TForm1::Button1Click(TObject *Sender) { TAdvStringGrid *grid = new TAdvStringGrid(this); grid->Parent = this; grid->Cells[1][1] = "Hello TMS!"; }5. 常见问题排查与优化
即使按照标准流程安装,也可能会遇到各种问题。这里分享几个我踩过的坑:
问题1:设计时控件显示但运行时消失这通常是因为bpl文件没有正确注册。解决方法是以管理员身份运行命令行,执行:
regsvr32 "C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\TMSD12.bpl"问题2:C++ Builder提示找不到头文件检查Include路径是否包含所有必要目录。有个技巧是在工程选项的Paths设置中,使用相对路径符号$(BDS)代替绝对路径,这样更便于团队协作。
问题3:高DPI显示模糊在应用程序的主窗体创建前添加:
Application.MainFormOnTaskbar := True; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;性能优化方面,建议:
- 在大型项目中使用运行时包(Runtime Packages)减少exe体积
- 关闭不需要的TMS组件以减少加载时间
- 定期清理\Documents\RAD Studio\20.0\Dcu目录下的编译中间文件
6. 进阶配置与开发技巧
熟悉基本安装后,可以进一步优化开发环境:
- 代码模板配置:为常用TMS控件创建代码模板。比如为TAdvStringGrid设置默认属性:
object AdvStringGrid1: TAdvStringGrid Left = 24 Top = 24 Width = 600 Height = 400 Cursor = crDefault ColCount = 5 DefaultRowHeight = 21 RowCount = 10 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Tahoma' Font.Style = [] Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing] ParentFont = False ScrollBars = ssBoth TabOrder = 0 end调试符号配置:在Tools->Options->Debugger Options中勾选"Load debug symbols for TMS packages",这样可以在调试时进入TMS控件源码。
版本控制集成:如果团队开发,建议将TMS源码目录纳入版本控制。但要注意排除dcu等中间文件。
主题适配:TMS VCL UI Pack支持皮肤功能,可以在程序启动时加载:
TMSStyleManager.Style := Office2019Silver;对于TAdvStringGrid的高级用法,有几个实用技巧:
- 使用VirtualMode处理大数据量
- 通过OnGetCellColor实现条件格式
- 利用ExportToExcel方法快速导出数据
- 使用Filter属性实现即时筛选功能