简介:DevExpress VCL 20.2.6 控件安装包面向升级到 Delphi 11 的桌面与数据库开发者,覆盖数据网格、图表、报表等常用 VCL 组件,适合老项目迁移或新工程初始化。该版本来自外网完整整理,内置 DxAutoInstaller.exe 自动安装器,运行后免去手工环境配置,装完即可在 RAD Studio 11 中调用全部控件,避免中文社区常见“改名套壳、无法编译”的坑。安装包以 7z 压缩包发布,内含 DxAutoInstaller.exe 安装程序与完整控件源文件,整包约 473.21 MB,便于离线部署。资源已有 513 人浏览学习,作者在 Delphi 11 下亲测通过,属非试用版完整发行,可直接用于商业项目评估。相比逐一下载散件或寻找残缺版本,这份资源为开发者节省大量检索与排错时间,装上就能用,是 DevExpress VCL 20.2.6 在 D11 环境下的一个可靠选择。
1. 准备装这套控件库之前,先确认版本对应关系,免得装完白忙
搭 Delphi 11 开发环境的人,几乎绕不开 DevExpress VCL 这套控件库,尤其是写桌面端管理系统的团队,网格、图表、编辑框、功能区这些常规组件基本全靠它撑。但装这套东西最大的困扰不是安装本身,而是版本对应关系:DevExpress 的版本号体系和 RAD Studio 的版本号并不同步,20.2.6 里的“20.2”是 DevExpress 自己的发布序列,它在这一代上对应的是“支持到 Delphi 11”。如果手里的包是更早的 20.2.x 小版本,安装选择列表里可能压根没有 Delphi 11 这一项,装完 IDE 不认包,菜单起不来,组件面板也是空的。这篇文章记录的是我最近帮某开发者配 Delphi 11 环境时,完整走通 DevExpress VCL 20.2.6 安装、配置到验证的过程,重点说清楚版本怎么选、路径怎么配、出问题了怎么救。
2. 安装前的版本选型与目录规划,先做再装能省一半的事
2.1 版本与 RAD Studio 版本对应关系,先对号入座
DevExpress VCL 20.2.6 安装的时候,第一步会弹出 RAD Studio 版本选择列表,里面会列出当前安装包支持的所有 IDE 版本,包括 Delphi、C++Builder 以及它们的版本代号。20.2.6 这个版本在列表中已经包含 Delphi 11 Alexandria 对应项,所以可以正常安装。判断逻辑很简单:如果你手里的包是 20.2.x 的早期小版本,列表里看不到 Delphi 11 字样,就不要硬装,安装程序通常会拒绝继续,要么在版本选择处直接报错,要么装完 IDE 里没有任何 DevExpress 菜单项。与其去改注册表欺骗安装程序,不如直接换一个支持到 Delphi 11 的版本来得干净。
安装前还应该确认 Delphi 11 本身的安装路径。默认位置一般是C:\Program Files (x86)\Embarcadero\Studio\22.0,如果你当初给 IDE 改过安装路径,后面安装向导可能检测不到版本,出现“无法找到对应 RAD Studio 版本”的提示。这种情况不需要重装 IDE,向导里有手动指定路径的入口,指到对应版本根目录即可。
2.2 fullsource 包内容与目录结构,知道多了什么才能不慌
这次装的是带 fullsource 标签的版本,意思是除了二进制组件外,还附带完整的源码资源。这个标签对安装流程有个直接影响:组件库需要自己编译生成 bpl 和 dcp,而不是像纯二进制分发版那样装完直接能用。很多第一次用源码包的人会被这一步吓到,实际流程是自动化的,安装程序会调用 Delphi 自带的编译器完成构建,只是编译过程比较长,通常在 20 到 40 分钟。
解压后的目录结构大致如下:
DevExpressVCL ├── Library ├── Delphi21 │ ├── Library │ └── Source │ ├── cxSource │ ├── dxSource │ └── cxdemos └── RedistDelphi21是给 Delphi 11 用的专属目录,Source下的cxSource对应各控件模块源码,dxSource对应公共基础库源码,cxdemos是官方示例工程。这些目录在安装向导里会被自动加入 IDE 的搜索路径,但如果你在向导中手动取消了一些选项,安装完成后就要自己去补路径,否则编译项目时找不到dxCoreReg.dcu这类基础单元。
2.3 安装目录路径选择,一个决定成败的小细节
解压目录和安装目标路径,我都建议放在纯英文无空格路径下,比如D:\Components\DevExpressVCL\。原因很直接:安装向导会把大量路径写入 IDE 的全局配置,包括Library路径和Browsing路径,路径里带空格或中文时,轻则编译器找不到文件,重则 IDE 启动直接崩。这不是 DevExpress 特有的问题,Delphi 的编译器和路径系统本身对这类路径就相当敏感,我见过因为路径里带了个括号导致 IDE 启动失败的案例。
另外要提前确认本机 RAD Studio 版本号。Delphi 11 的内部版本号是 22.0,所以 Studio 安装目录下会有一个22.0结尾的文件夹:
# 预检 RAD Studio 安装目录,确认版本号与实际路径一致 dir "C:\Program Files (x86)\Embarcadero\Studio\22.0"如果这个目录不存在,说明 IDE 可能装在别的盘,利用系统搜索定位bds.exe的位置,那才是真正的 BDS 根目录。这一步做在前面,后面安装向导里版本检测基本不会卡住。
3. 完整安装流程:从解压、编译到注册进 Delphi 11
3.1 解压环节的注意事项
不要在压缩包内直接双击运行安装程序,一定要先解压到本地再执行。原因有两点:第一,安装过程中会反复定位Library目录和源码目录,如果从压缩包内运行时,系统会把路径当成临时挂载位置,文件找不到直接报错;第二,源码包的编译时间很长,中途如果压缩工具释放的临时文件被系统清理,整个安装直接报废。
解压完成后,进入根目录找dxInstall开头的可执行文件,右键以管理员身份运行。安装向导启动后,第一步就是版本选择界面,选择 Delphi 11 Alexandria 对应的选项。如果界面语言是英文,找RAD Studio 22或Delphi Alexandria字样,对应关系不会变。
3.2 安装向导里的选项如何取舍
版本选择完成后,向导会列出所有可安装的组件模块。这里我建议第一次安装时全部勾选,不要只挑自己当前项目用到的模块。理由是:你永远不知道项目后续会不会引到dxRichEdit或者cxSpreadSheet,运行期包如果没编译,等用到时再去补编译,流程烦人不说,还有可能因为版本环境变了引入新问题。
接下来有几个需要特别注意的选项:
Install components into the IDE: 推荐勾选 Build all compiled packages: 推荐勾选 Use Runtime Packages when compiling demos: 视情况而定Install components into the IDE控制的是把设计期包注册到组件面板,不勾选的话,控件运行期功能可能正常,但你无法在设计期把控件拖到窗体上,这对实际开发来说没法接受。Build all compiled packages决定是否现场编译所有包,fullsource 版本没有现成的 bpl/dcp,必须勾选,否则装完就是一堆源码放在那,IDE 里什么都用不了。Use Runtime Packages when compiling demos一般保持默认,它只影响官方示例工程的编译方式。还有一个Add paths to IDE library之类的选项,务必勾上。它负责把Library、Browsing路径自动写进 IDE 配置。漏掉它,安装完成后引用任何 DevExpress 单元都会报找不到文件。
3.3 编译过程观察重点与等待策略
点击安装按钮后,Delphi 11 会被自动调用来执行一组编译任务。过程中会看到大量dcc32.exe命令行窗口轮流闪动,这是 IDE 在逐个编译运行期包和设计期包。每个包的编译时间从几十秒到几分钟不等,全部跑完通常在半小时左右。
编译过程中如果弹出错误窗口,不要冲动重装。最常见的两个现象:一个是提示找不到某个.dcu文件,比如dxCoreReg.dcu,这通常是源码资源没找全,常见原因是解压时被杀毒软件隔离了文件;另一个是提示找不到编译器dcc32.exe,说明 IDE 路径和向导检测到的路径不一致。第一种情况去安全软件的隔离区恢复文件,第二种情况进向导重新指定 BDS 路径,然后重新执行安装,不需要卸载重来。编译全部通过后,安装向导会自动完成注册,并提示重启 IDE。
3.4 每次编译的先后顺序,fullsource 版必须理清的关系
需要说明的是,安装向导中的编译并不是一锅乱炖,而是有明确先后逻辑的:先编译运行期包,再编译设计期包。运行期包负责控件运行时的实际逻辑,设计期包负责把控件注册到 IDE 面板。设计期包依赖运行期包,运行期包不存在时,设计期包编译或加载会直接失败。源码包安装时已经按这个顺序处理了,但如果你后续手动重编某个包,就必须自己保持这个顺序。举例:你想单独重编dxLayoutControl这个模块,那么正确的顺序是先编它依赖的dxLibrary基础包,再编dxLayoutControl相关的包,顺序反过来就会报出一堆依赖错误。这也是为什么很多人手动编译某个包后,IDE 启动时报设计期包加载失败——基本就是只编了设计期包,运行期包没有重新构建,版本对不上。
4. 安装完成后的关键配置:Library 路径与 IDE 环境选项
4.1 Library 路径核对,不要完全信任安装向导
安装完成后,即使一切看起来正常,我也建议手动核对一遍 IDE 的 Library 路径。原因很简单:不同机器上 RAD Studio 的安装位置不同,向导自动生成的路径有时会指向奇怪的位置,导致编译时搜不到单元。
进入路径配置入口:Tools > Options > Environment Options > Delphi Options > Library > Library Path,打开后检查路径列表是否包含关键目录:
D:\Components\DevExpressVCL\Delphi21\Library D:\Components\DevExpressVCL\Delphi21\Source\cxSource D:\Components\DevExpressVCL\Delphi21\Source\dxSourceLibrary目录存放编译产物,cxSource和dxSource才是组件单元源码。运行时 dcu 文件缺失时,库路径正确也能让 IDE 自动找到源码重新编译。缺少哪条就补哪条,补完后点击 Save。千万不要觉得装上之后能用就跳过这步,我见过太多“明明装了,编译就是找不到单元”的案例,最后查下来全是路径缺失。
Browsing Path里的内容也要同步核对。它负责代码编辑器的智能提示和 Ctrl+点击跳转,路径不全的话导航不到源码,虽然不影响编译,但调试代码时很影响效率。
4.2 运行期包与设计期包的作用与编译顺序
DevExpress VCL 的包体系分两层:运行期包文件类似dxCore、dxBar这种不带 Dsn 后缀的 bpl,工程里的代码在运行时依赖它;设计期包文件带Dsn或Reg标识,负责在设计期把控件放到工具面板上。两者的关系是设计期包依赖运行期包,运行期包不存在时,设计期包加载失败,IDE 启动会报“Can't load package”之类的错。源码包安装时已经按正确顺序处理了这两类包,先运行期后设计期,但如果你单独重编某个包,就要自己维持这个顺序。
例如想单独重新编译dxLayoutControl的包,可以进入对应目录,先编译dxLibrary再编译dxLayoutControl:
cd D:\Components\DevExpressVCL\Delphi21\Source\dxLibrary dcc32.exe dxLibraryDP.dpk -B cd ..\dxLayoutControl dcc32.exe dxLayoutControlDP.dpk -B在 IDE 里手动编译包也可以,直接File > Open打开对应.dpk文件,然后执行 Compile。这里的坑在于,如果只编译了设计期包而没有重编运行期包,IDE 会报一堆 “contains unit” 的错误。记住一个原则:先运行期,后设计期,顺序不能乱。
4.3 Resource DLL 与多语言界面附带资源
DevExpress VCL 有一部分功能依赖资源 DLL,比如打印预览界面和部分对话框的本地化文案。源码分发包的Redist目录下通常有对应的资源包,安装向导会自动拷贝到公共目录。但如果你之前装过旧版本,新版本覆盖安装时,资源文件可能因为被占用而没有被完整覆盖,导致界面上控件文案仍然是旧版的语言资源,甚至部分对话框按钮文字丢失。遇到这种问题,先搜dxResource*.dll,检查文件日期是否接近安装日期。如果日期很久远,手动从安装包里提取覆盖一遍即可。这个问题我在装 20.2.6 时遇到过,症状是打印预览对话框里按钮文字乱码,实际原因就是资源 DLL 被旧版占用没有更新。
5. 常见问题排查:装完必翻车的几个位置
5.1 IDE 启动报错:Package module not found
现象:重启 Delphi 11 后,IDE 启动过程中弹出错误框,提示类似Can't load package ...\dxThemeDsn.bpl。IDE 主窗口能打开,但组件面板里 DevExpress 选项卡消失。
原因:安装过程中断,或设计期包编译失败后没有被复制到 IDE 的 BPL 输出目录。这种报错多半是安装时编译错误被跳过后留下的后遗症。
解决:先到Delphi21\Library目录看有没有对应的.bpl文件。如果不存在,说明该包编译未成功,重新执行一次安装,选择重建所有包;如果文件存在但 IDE 报错路径下找不到,手动把文件复制到 RAD Studio 的Bin目录,并确认 IDE 的 BPL 路径包含该目录。
5.2 编译项目找不到 dxCoreReg.dcu 或 dxBar.dcu
现象:打开已有项目,编译时报错File not found: 'dxCoreReg.dcu'或dxBar.dcu,但 IDE 本身看起来一切正常。
原因:库路径未配置完整。先确认该文件是否真的存在,如果Delphi21\Library下能找到而编译器还报错,说明 IDE 的库路径没有正确指向。
解决:打开Tools > Options > Environment Options > Delphi Options > Library > Library Path,把Delphi21\Library加进去。加完保存后重新编译。这个错一般不需要重装,但注意检查多个模块分开存放的老项目,所有引用路径都要补完整。
5.3 组件面板有控件,但拖到窗体上报属性不存在
现象:组件面板能正常显示 Express 选项卡,但把cxGrid拖到窗体上时,报Error reading cxGrid1.TableView: Property TableView does not exist。
原因:控件是新版,但 IDE 里残留着旧版本注册信息,窗体文件里的属性名和当前组件版本对不上。多数情况下是旧版本卸载不干净留下的。
解决:进入Component > Install Packages,取消旧版本设计期包的勾选,移除后重新勾选新版本对应包。然后关闭 IDE,打开%AppData%\Embarcadero\BDS\22.0目录,备份并删除组件缓存文件,重新启动 IDE。这一步能清掉旧控件的注册残留,让新版本重新加载。
5.4 程序编译成功,但运行提示缺少 bpl 运行期包
现象:项目编译通过,但双击生成的 exe 运行时,系统提示无法启动此程序,因为计算机中丢失 dxBar.dll这类错误。
原因:项目编译时启用了运行期包(Use runtime packages),DevExpress 的运行期 BPL 没有随编译复制到输出目录,也没有注册到系统路径。
解决:如果你不需要动态加载运行期包,在项目选项Packages > Runtime Packages中清掉 DevExpress 相关运行期包,改为静态链接,这样 exe 体积会大一些但发布省事很多。如果你必须用运行期包,把Delphi21\Library下所有dx*.bpl复制到 exe 同目录即可。
5.5 官方 demo 编译报错,但自己的项目编译正常
现象:从cxdemos打开的示例工程编译时大量报错,多数是找不到单元,但自己写的项目可以正常编译。
原因:官方 demo 大多引用..\..\Source\这类相对路径,源码包没有放在默认目录时,相对路径就失效了。
解决:如果 demo 工程不是必须用,直接忽略,专注自己项目即可。如果想跑通,把整个包放到安装时的默认路径下,或者手动给 demo 工程添加搜索路径。demo 编译报错不代表组件库本身有问题,这个要分清楚。
6. 装完怎么验证跑通:版本号、示例工程、拖拽测试三步走
装好组件库后,最怕的是看着一切正常,写代码时才发现某个模块没装上。我每次装完都会做一套固定验证流程,十几分钟能把所有链路测一遍,确认无误后才把正式项目迁过来。
第一步,打开 Delphi 11 的Help > About,确认 DevExpress 的版本号是 20.2.6,并且安装信息出现在关于窗口中。这一步能过滤一种常见乌龙:你以为装的是新版,系统里实际注册的还是旧版,后续所有报错都源于版本混乱。如果关于窗口里没有 DevExpress 相关信息,说明注册有遗漏,翻前面的流程检查。
第二步,从cxdemos里挑一个工程编译,我习惯选ExpressQuantumGrid下的 demo。cxGrid是这整套组件库里集成度最高的控件之一,它能跑通,说明运行期包、设计期包、资源 DLL 基本都在位。打开 demo 的.dpr后执行 Build,观察编译输出窗口是否全绿:
# 命令行验证 demo 工程能否成功编译(示例路径按实际安装位置调整) cd D:\Components\DevExpressVCL\Delphi21\Source\cxdemos\ExpressQuantumGrid dcc32.exe GridDemo.dpr -B -I"..\cxSource" -U"..\..\Library"第三步,新建一个最小 VCL Application,在窗体上分别放一个cxGrid、一个dxRibbon、一个cxTextEdit,再写一行代码:
cxTextEdit1.Text := 'DevExpress VCL 20.2.6 installed OK';编译运行后确认 TextEdit 文本正常回显,Ribbon 工具栏界面能正常渲染,Grid 能放到窗体上不报错。这三步全过,才敢放心把老项目迁过来。
从那以后我每次装完控件库都强制自己走一遍这个流程:先看版本号,再编一个 demo,最后拖三个控件跑一遍。做运维的人都有交学费的时候,那次装完没验证、接手老项目后编译全绿、部署到对方机器上黑屏的场景,我现在想起来都冒冷汗。希望这份记录里的版本对照、路径配置和几个典型坑,能帮你一次把 DevExpress VCL 20.2.6 配顺。
本文还有配套的精品资源,点击获取