资讯动态

DevExpress VCL 20.2.6 在 Delphi 11 上的完整安装与避坑指南

发布时间:2026/10/21 8:06:24 来源:尧图企业网站定制
简介这份 DevExpress VCL 20.2.6 控件安装包面向使用 Delphi 11 进行桌面应用开发的程序员尤其是从旧版本升级后需要重新配置第三方控件库的开发者。它解决了国内资源普遍存在的版本不符、无法编译或试用版限制等问题提供可直接使用的完整源码版本。压缩包为 7z 格式整体约 473.21MB内含安装程序 DxAutoInstaller.exe 及配套源码与库文件运行后即可自动完成部署无需手动配置环境。目前已有 514 人学习下载说明该资源在 Delphi 社区中具有一定认可度。读者拿到后可直接在 Delphi 11 中调用 DevExpress VCL 的完整控件集省去搜索、验证与排错的时间快速恢复或搭建开发环境适合需要稳定控件库支撑项目开发的中高级 Delphi 开发者。1. DevExpress VCL 20.2.6 装到 Delphi 11先搞清楚你手里这套包到底是什么很多人第一次拿到 DevExpress VCL 的 fullsource 包第一反应是双击 exe 一路 Next结果装完 Delphi 11 里控件面板空空如也编译报一堆找不到 dcu 的错。我见过最典型的一次某开发者把 20.2.6 的包直接往 Delphi 11 的 IDE 里拖装完发现 VCL 面板只剩一半控件剩下的一半全变成灰色不可用。问题不在包本身在于这套 fullsource 包需要先编译源码、再走 IDE 的包安装流程而不是像普通组件那样一键注册。DevExpress VCL 20.2.6 这个版本号对应的是 Delphi 11 Alexandria 的官方支持周期源码包里带了完整的 pas 和 dpk 工程文件支持从 Delphi 10.4 到 11 的编译目标。如果你手上是编译好的 binary 包那只能对应特定 Delphi 版本跨版本用大概率翻车。这篇记录的是 fullsource 包在 Delphi 11 上的完整落地过程从环境清理到编译顺序再到验证跑通每一步都有可复现的命令和参数。适合正在配 Delphi 11 开发环境、需要一套稳定 VCL 控件库的开发者也适合之前装过旧版本、现在想升级到 20.2.6 但被残留文件坑过的人。2. 装之前先把环境理干净Delphi 11 的路径、权限和旧版本残留2.1 确认 Delphi 11 的安装形态和库路径Delphi 11 的安装形态直接决定后面 dpk 编译时的搜索路径怎么写。常见的有两种一种是默认装在C:\Program Files (x86)\Embarcadero\Studio\22.0另一种是自定义到非系统盘。不管哪种先确认三个关键路径存在# 确认 Delphi 11 的根目录和库路径 # 默认安装时 22.0 是 Delphi 11 的内部版本号 ls C:\Program Files (x86)\Embarcadero\Studio\22.0 ls C:\Program Files (x86)\Embarcadero\Studio\22.0\bin ls C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\Win32\release第一条列出 IDE 根目录里面应该有bin、lib、source等子目录。第二条确认bds.exe和dcc32.exe都在这是后面命令行编译要用的。第三条是 Win32 release 的库路径DevExpress 的 dcu 输出目录一般会挂到这里或者单独建一个。如果lib\Win32\release不存在说明安装时没勾选 Win32 平台支持需要回安装器补上。我一般会先把这三个路径记下来后面配置 Library Path 时直接粘贴避免手打出错。2.2 清理旧版 DevExpress 的残留文件和注册表项升级安装最容易翻车的地方就是旧版本没清干净。DevExpress 的包会往 IDE 的bin目录写 bpl往注册表写包注册信息还会在lib下留一堆 dcu。如果直接覆盖装 20.2.6IDE 启动时可能加载到旧版 bpl 导致控件面板错乱。清理步骤分三步# 第一步删除旧版 bpl 和 dcp 文件 # 这些文件通常在 Delphi 的 bin 目录下 del C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\dclcx*.bpl del C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\cx*.bpl del C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\dclcx*.dcp # 第二步清理旧版 dcu 输出目录 # 如果你之前把 dcu 输出到自定义目录一并删掉 rmdir /s /q D:\DevExpress\Library\Delphi11 # 第三步清理注册表中的包注册项 # 路径在 HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Known Packages reg delete HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Known Packages /f第一步删的是设计期包dcl 开头和运行期包cx 开头这些 bpl 如果残留IDE 启动时会尝试加载旧版。第二步是清 dcu 输出目录fullsource 包重新编译时会生成新的 dcu旧的不删可能被优先搜索到。第三步删注册表里的 Known Packages 键这个键记录 IDE 启动时要加载哪些包清掉之后重新安装会重建。注意第三步会清掉所有第三方包的注册信息如果你还装了其他控件需要之后重新注册。我一般会在清理前先导出这个注册表项做备份万一要回滚还能恢复。2.3 权限和杀毒软件的干扰排除Delphi 11 默认装在Program Files (x86)下这个目录写文件需要管理员权限。DevExpress 编译过程中会往 IDE 的bin和lib目录写 bpl 和 dcu如果权限不够编译到一半会报“拒绝访问”。常见做法是以管理员身份运行 Delphi 11或者把 DevExpress 的编译输出目录改到非系统盘。另外杀毒软件会拦截 bpl 的写入尤其是编译大量 pas 文件时实时扫描会拖慢速度甚至误删。我一般会在编译前把 DevExpress 的源码目录和输出目录加到杀毒软件的白名单里编译完再恢复。这一步不是必须但能省掉很多“编译到 90% 突然失败”的玄学问题。3. 编译 fullsource 包从 dpk 工程到 dcu 输出的完整顺序3.1 用命令行编译运行期包和设计期包DevExpress VCL 的 fullsource 包里有一堆 dpk 工程分布在Sources目录下。手动在 IDE 里一个个打开编译太慢而且容易漏。我一般用dcc32命令行批量编译先编运行期包再编设计期包。运行期包的 dpk 文件名不带dcl前缀设计期包带dcl前缀。编译命令模板如下# 设置 Delphi 11 的编译环境变量 set BDSC:\Program Files (x86)\Embarcadero\Studio\22.0 set BDSINCLUDE%BDS%\include set BDSLIB%BDS%\lib\Win32\release # 编译运行期包示例cxLibrary # -Q 是安静模式-W 是输出警告-$D 是调试信息 %BDS%\bin\dcc32.exe -Q -W -$D -I%BDSINCLUDE% -U%BDSLIB% -LED:\DevExpress\Library\Delphi11 -LND:\DevExpress\Library\Delphi11 -NUD:\DevExpress\Library\Delphi11 D:\DevExpress\Sources\cxLibrary\cxLibrary.dpk # 编译设计期包示例dclcxLibrary %BDS%\bin\dcc32.exe -Q -W -$D -I%BDSINCLUDE% -U%BDSLIB% -LED:\DevExpress\Library\Delphi11 -LND:\DevExpress\Library\Delphi11 -NUD:\DevExpress\Library\Delphi11 D:\DevExpress\Sources\cxLibrary\dclcxLibrary.dpk-LE指定 bpl 输出目录-LN指定 dcp 输出目录-NU指定 dcu 输出目录。这三个目录我一般统一设成D:\DevExpress\Library\Delphi11方便后面在 IDE 里配 Library Path。-I和-U分别指定 include 和 unit 搜索路径指向 Delphi 自带的库目录。编译顺序很重要先编运行期包因为设计期包依赖运行期包。如果先编设计期包会报找不到运行期包的 dcp。常见做法是按cxLibrary→cxEditors→cxGrid→cxPageControl这个依赖顺序编最后编对应的dcl设计期包。3.2 在 IDE 里注册设计期包并配置 Library Path命令行编译完只是生成了 bpl 和 dcu还需要在 IDE 里注册设计期包控件才会出现在面板上。打开 Delphi 11走Component→Install Packages→Add选择编译好的dclcx*.bpl文件。每加一个会提示是否重新编译选“否”因为已经命令行编过了。全部加完后点OKIDE 会重新加载包这时 VCL 面板上应该能看到 DevExpress 的控件页签。接着配 Library Path走Tools→Options→Language→Delphi→Library在Library Path里加上D:\DevExpress\Library\Delphi11。这个路径是 dcu 的搜索路径不加的话新建工程引用 DevExpress 控件时会报找不到单元。我一般还会在Browsing Path里加上源码目录方便 CtrlClick 跳转到源码。3.3 验证编译结果检查 bpl、dcu 和 IDE 面板编译和注册完成后做三个检查确认没翻车。第一看输出目录里 bpl 和 dcu 的数量# 统计编译输出的 bpl 和 dcu 数量 dir /b D:\DevExpress\Library\Delphi11\*.bpl | find /c /v dir /b D:\DevExpress\Library\Delphi11\*.dcu | find /c /v bpl 数量应该和设计期包数量一致dcu 数量会多很多因为每个 pas 单元都会生成一个 dcu。第二打开 Delphi 11看 VCL 面板上是否有DevExpress页签里面控件是否可拖拽。第三新建一个 VCL 工程拖一个cxGrid到窗体上编译运行。如果编译通过且运行时能看到表格控件说明运行期包和设计期包都注册成功了。如果编译报File not found: cxGrid.dcu说明 Library Path 没配对回去检查路径。4. 避坑与排查装 DevExpress VCL 20.2.6 最常见的五个翻车点4.1 现象IDE 启动时报“Cannot load package dclcx...” → 原因旧版 bpl 残留 → 解决彻底清理 bin 目录这个报错通常出现在升级安装后第一次启动 IDE。原因是旧版的dclcx*.bpl还在bin目录里IDE 按注册表里的记录去加载但旧版 bpl 依赖的 dcp 已经被新版覆盖导致加载失败。解决方法是关掉 IDE删掉bin目录下所有dclcx*.bpl和cx*.bpl然后重新走一遍设计期包注册。我一般会在删之前先确认新版 bpl 已经编译到输出目录避免删完没得用。4.2 现象编译 dpk 时报“Unit cxClasses was compiled with a different version” → 原因dcu 版本混用 → 解决清空输出目录重新编译这个报错说明编译器找到了旧版本的cxClasses.dcu和当前源码版本不匹配。常见原因是输出目录里同时存在 20.1 和 20.2.6 的 dcu或者 Delphi 自带库路径里有旧版 dcu。解决方法是清空 DevExpress 的输出目录同时检查 Library Path 里有没有指向旧版 DevExpress 的路径。我一般会在编译前先rmdir /s /q输出目录确保从零开始编。4.3 现象控件面板上 DevExpress 页签是空的 → 原因设计期包没注册或注册失败 → 解决手动 Install Packages页签存在但里面没控件说明设计期包加载了但注册过程出错。常见原因是 bpl 的依赖项没满足比如运行期包没编译或没在系统 PATH 里。解决方法是走Component→Install Packages看 DevExpress 的包是否在列表里且勾选。如果勾选了但页签还是空尝试移除后重新 AddAdd 的时候注意选择正确的 bpl 路径。我遇到过一种情况是 bpl 编译到了 64 位目录但 IDE 是 32 位加载不了这种要确认编译目标平台和 IDE 平台一致。4.4 现象新建工程编译报“Required package cxLibrary not found” → 原因运行期包没注册到 IDE → 解决在 Project Options 里加包引用这个报错说明工程引用了 DevExpress 的运行期包但 IDE 不知道这个包在哪。解决方法是走Project→Options→Packages在Runtime Packages里加上cxLibrary等包名或者在Search Path里加上 bpl 所在目录。更彻底的做法是把 bpl 输出目录加到系统 PATH 环境变量里这样 IDE 和编译出来的 exe 都能找到。我一般会在 Project Options 里显式加包引用避免依赖系统 PATH。4.5 现象编译速度极慢卡在某个 pas 文件 → 原因杀毒软件实时扫描 → 解决加白名单或临时关闭DevExpress 的源码文件很多编译时 dcc32 会频繁读写 pas 和 dcu。杀毒软件的实时扫描会拦截每次文件写入导致编译时间从几分钟变成几十分钟。解决方法是把 DevExpress 的源码目录和输出目录加到杀毒软件的白名单里。如果用的是 Windows Defender可以在“排除项”里加目录。我一般会在编译前临时关掉实时扫描编译完再开但这不是长久之计加白名单更稳妥。5. 装完怎么验证跑通三个可复现的检查动作5.1 用命令行编译一个最小 VCL 工程验证 dcu 搜索路径最直接的验证方式是写一个最小工程只引用 DevExpress 的一个单元用命令行编译。新建一个TestDevEx.dpr内容如下program TestDevEx; uses Vcl.Forms, cxClasses, // 引用 DevExpress 的核心单元 Unit1 in Unit1.pas {Form1}; begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.Unit1.pas里放一个空窗体uses 里加上cxGrid。然后用dcc32编译%BDS%\bin\dcc32.exe -Q -W -I%BDSINCLUDE% -U%BDSLIB%;D:\DevExpress\Library\Delphi11 -LED:\TestOutput TestDevEx.dpr如果编译通过且D:\TestOutput下生成了 exe说明 dcu 搜索路径配对了。如果报File not found: cxClasses.dcu回去检查-U参数里的路径是否包含 DevExpress 的输出目录。这个检查比在 IDE 里点编译更严格因为命令行不会自动加载 IDE 的 Library Path全靠参数指定。5.2 在 IDE 里拖控件并运行确认设计期和运行期都正常命令行编译通过只说明运行期没问题设计期还要单独验证。打开 Delphi 11新建 VCL Application从 DevExpress 页签拖一个cxGrid和一个cxButton到窗体上。cxGrid拖上去后应该能看到列头和网格线cxButton应该显示默认样式。然后按 F9 运行窗体弹出后控件正常显示点击按钮有响应。这一步验证的是设计期包注册成功且运行期包在 IDE 环境下能正常加载。如果拖控件时 IDE 卡死或报错说明设计期包有问题回去检查dclcx*.bpl是否注册正确。5.3 检查版本号确认装的是 20.2.6 而不是旧版最后一个检查是确认版本号。DevExpress 的版本号可以在源码里找到打开cxClasses.pas搜索cxVersion或DXVersion应该能看到20.2.6的字样。或者在 IDE 里拖一个cxLabel在 Object Inspector 里看Version属性。如果显示的是 20.1 或更早说明旧版 dcu 还在被搜索到需要回去清理 Library Path 和输出目录。我一般会在装完后立刻检查版本号避免装了半天发现装的是旧版。从那以后我每次装 DevExpress 新版本都会先把旧版 bpl、dcu 和注册表项清一遍再按“命令行编译 → IDE 注册 → Library Path 配置 → 最小工程验证”这个顺序走一遍不跳步。这套流程看起来繁琐但能省掉后面调试“玄学报错”的时间。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑