简介:Raize 6.1.1.12 DX10.1 Berlin 修正版是一套面向 Delphi/C++Builder 开发者的界面控件库资源,针对原版在编译时因 pas 文件错误导致构建失败的问题做了修复,并附带安装说明,适合使用 RAD Studio 10.1 Berlin 进行桌面应用开发的中高级程序员。压缩包共 956 个文件,约 10.74MB,以 hpp、dcu、pas、dfm 等源码与编译单元为主,另含 bmp、res、ico 等界面素材,以及 dpk、dproj、groupproj 等工程与包文件,结构完整。配置文件已预先调整,解压至 C:\Program Files\Raize\ 后执行 RC6\Source 下的 !Build_RC6.cmd 即可完成编译,亲测可用。目前已有 329 人学习下载,可帮助开发者省去排查编译错误的时间,快速获得可用的控件库环境,并借助示例窗体与资源文件理解组件布局与调用方式。
1. Raize 6.1.1.12 DX10.1 安装环境总览:先看清版本再动手
Raize 6.1.1.12 DX10.1 这套组件包在 Delphi/C++Builder 圈子里算是老牌 UI 控件库了,Berlin 版本对应的就是 RAD Studio 10.2 Tokyo 那一代编译器。很多人拿到压缩包第一反应是直接双击安装,结果要么卡在编译期报一堆找不到单元,要么装完发现控件面板里根本没有 Raize 的标签页。问题基本都出在版本匹配上——DX10.1 这个后缀指的是它适配的 Delphi 版本代号,不是 DirectX 的意思,装错版本比不装还麻烦,因为残留的 BPL 包会让后续安装反复失败。这篇记录的是我在 Windows 环境下从零装通这套控件的完整过程,包括环境变量怎么配、包怎么编、装崩了怎么清干净。适合正在用 Berlin 版本做桌面项目、需要一套成熟表格和编辑控件的开发者,新手照着走能跑通,熟手可以重点看版本取舍和排错那几段。
2. 安装前准备:目录规划与编译环境检查
2.1 确认 RAD Studio 版本与目录结构
Raize 6.1.1.12 的 DX10.1 分支只认 RAD Studio 10.2 Berlin 的编译器,这一点在安装前必须确认死。打开 IDE,菜单 Help → About 看版本号,必须是 10.2.x 开头。如果你装的是 10.2.3 这种带 Update 的版本,问题不大,但如果是 10.3 Rio 或更高,这套包里的 DCU 和 BPL 会直接拒绝加载,因为编译器 ABI 变了。
确认版本之后,规划一个干净的安装根目录。我一般不会把控件装到 C 盘默认路径,而是单独放一个短路径,比如D:\RSLib\Raize611。原因有两个:一是 Berlin 的编译器对长路径和空格路径偶尔会抽风,二是以后要卸载或者换版本,直接删目录比在注册表里翻残留快得多。
目录结构建议这样分:
D:\RSLib\Raize611\ ├── Source\ # 解压出来的源码和包文件 ├── DCU\ # 编译输出的单元文件 ├── BPL\ # 编译输出的包文件 └── Help\ # 帮助文档(如果有)把压缩包解压到Source下面,不要直接在压缩包里双击运行安装程序。Raize 的安装脚本会往 IDE 的注册表项里写路径,如果从临时目录运行,装完之后临时目录一清,IDE 就找不到包了,这是最常见的翻车点之一。
2.2 检查系统环境与依赖组件
Berlin 时代的 Raize 对系统本身要求不高,Windows 7 SP1 到 Windows 10 都能跑,但有几个前置条件必须满足:
第一,.NET Framework 3.5 和 4.6 都要在。Berlin 的 IDE 本身依赖 3.5,而 Raize 的某些设计期包会调用 4.6 的库。如果系统是 Windows 10 干净安装,3.5 默认是关的,要去「启用或关闭 Windows 功能」里勾上。
第二,确保 IDE 没有正在运行。安装脚本要往 IDE 的包列表里注册 BPL,如果 IDE 开着,注册会写不进去,装完打开 IDE 发现控件面板空的。
第三,检查系统 PATH 里有没有旧版 Raize 的路径。有些机器之前装过 Raize 5 或者别的版本,PATH 里残留了旧 DCU 目录,编译时会优先找到旧单元,报一堆「不兼容的版本」错误。用命令行path看一眼,有就删掉。
第四,管理员权限。安装脚本要写注册表 HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0 下面的包列表,虽然 HKCU 一般不需要提权,但有些安全软件会拦注册表写入,建议右键以管理员身份运行安装脚本。
提示:装之前把 IDE 的「默认项目输出路径」记一下,装完如果编译报找不到 DCU,大概率是这个路径被安装脚本改乱了。
3. 编译与安装:从源码包到 IDE 控件面板
3.1 用命令行编译 Raize 包
Raize 6.1.1.12 的源码包里有一堆.dpk和.dproj文件,对应不同的包。DX10.1 分支下,核心包是这几个:
| 包文件名 | 用途 | 编译顺序 |
|---|---|---|
| RaizeComponentsRun.dpk | 运行时包 | 1 |
| RaizeComponentsDesign.dpk | 设计期包 | 2 |
| RaizeComponentsDBRun.dpk | 数据库运行时包 | 3 |
| RaizeComponentsDBDesign.dpk | 数据库设计期包 | 4 |
编译顺序不能乱,设计期包依赖运行时包,数据库包依赖基础包。我一般用命令行编译,比在 IDE 里一个个打开快得多,而且报错信息更干净。
打开 RAD Studio 的命令行工具(开始菜单里找「RAD Studio Command Prompt」),切到源码目录,执行:
# 切到源码目录 cd /d D:\RSLib\Raize611\Source # 编译运行时包,输出到 BPL 和 DCU 目录 dcc32 -B -Q -W -$D- -$L- -$Y- -E..\DCU -LN..\BPL -LE..\BPL -NU..\DCU RaizeComponentsRun.dpk # 编译设计期包 dcc32 -B -Q -W -$D- -$L- -$Y- -E..\DCU -LN..\BPL -LE..\BPL -NU..\DCU RaizeComponentsDesign.dpk参数说明:-B强制全部重新编译,避免用到旧 DCU;-Q安静模式,只输出错误和警告;-E指定可执行文件输出目录;-LN指定 BPL 输出目录;-LE指定包扩展名输出目录;-NU指定 DCU 输出目录。这几个路径参数必须和你在 IDE 里配的库路径一致,否则装完 IDE 找不到单元。
编译过程中如果报F1026 File not found: 'RaizeUtils.pas'这类错误,说明源码目录不完整,回去检查压缩包是不是解压全了。如果报E2202 Required package 'rtl' not found,说明命令行环境没初始化好,用 RAD Studio 自带的 Command Prompt 而不是系统的 cmd。
3.2 在 IDE 中注册包并配置库路径
命令行编译通过之后,BPL 文件已经在D:\RSLib\Raize611\BPL下面了。接下来要让 IDE 认识这些包。
打开 Berlin,菜单 Component → Install Packages,点 Add,把刚才编译出来的RaizeComponentsDesign.bpl和RaizeComponentsDBDesign.bpl加进去。加的时候注意,只加设计期包,运行时包会自动被依赖加载,手动加进去反而可能报重复注册。
加完包之后,配置库路径。菜单 Tools → Options → Environment Options → Delphi Options → Library,在Library Path里加上:
D:\RSLib\Raize611\DCU在Browsing Path里加上:
D:\RSLib\Raize611\SourceLibrary Path 是编译器找 DCU 的地方,Browsing Path 是 IDE 找源码做代码补全和跳转的地方。两个都要加,少一个就会出现「能编译但 Ctrl+Click 跳不过去」的玄学问题。
注意:如果你同时用 C++Builder,还要在 C++ 的 Include Path 和 Library Path 里加对应的路径,C++ 的包注册和 Delphi 是分开的。
3.3 验证控件面板与编译一个测试项目
包注册成功之后,IDE 的控件面板里应该出现Raize标签页,里面有RzButton、RzEdit、RzGrid这些常用控件。如果标签页没出现,先检查包有没有真的加载成功——菜单 Component → Install Packages 里看RaizeComponentsDesign前面的勾有没有打上,没打上就手动勾一下,IDE 会提示具体错误。
新建一个 VCL Forms Application,从 Raize 标签页拖一个RzButton到窗体上,然后按 F9 编译运行。如果编译报Unit 'RzButton' not found,说明 Library Path 没配对;如果运行时报Class TRzButton not found,说明运行时包没加载,检查RaizeComponentsRun.bpl是不是在系统 PATH 或者 IDE 的包搜索路径里。
我一般会在这个测试项目里再拖一个RzGrid和一个RzEdit,因为这两个控件依赖的单元最多,能编译过基本说明整套包都装好了。
4. 避坑与排查:安装 Raize 6.1.1.12 常见的五个坑
4.1 坑一:装完控件面板空白,包列表里显示「未加载」
现象:Install Packages 里能看到 Raize 的包,但前面的勾是灰的或者打不上,控件面板没有 Raize 标签页。
原因:九成是 BPL 的依赖没满足。Raize 的设计期包依赖运行时包,运行时包又依赖 RTL 和 VCL 的包。如果编译时用的 dcc32 版本和 IDE 的编译器版本不一致,BPL 的依赖签名会对不上。
解决:删掉所有编译输出的 BPL 和 DCU,用 RAD Studio 自带的 Command Prompt 重新编译一遍。确认dcc32的版本和 IDE 一致——在命令行执行dcc32不带参数,看输出的版本号是不是 10.2。
4.2 坑二:编译时报「不兼容的单元版本」
现象:编译项目时提示Unit 'RzButton' was compiled with a different version of 'System.Classes'。
原因:DCU 目录里混了旧版本编译器生成的单元文件。比如之前用 Berlin 的早期 Update 编译过,后来升级了 IDE 但没重新编译 Raize。
解决:把D:\RSLib\Raize611\DCU整个删掉,重新用当前 IDE 的 dcc32 编译所有包。不要试图只删报错的那个单元,ABI 变了就是全量重编的事。
4.3 坑三:IDE 启动变慢或者启动时报包加载失败
现象:装完 Raize 之后,IDE 每次启动都要等很久,或者弹窗提示Cannot load package 'RaizeComponentsDesign'。
原因:设计期包在 IDE 启动时加载,如果 BPL 放在网络盘或者路径里有中文,加载会超时。另外,如果同时装了多个版本的 Raize,包名冲突也会导致加载失败。
解决:把 BPL 和 DCU 放在本地短路径下,路径里不要有中文和空格。检查 Install Packages 里有没有重复的 Raize 包,有就删掉旧的。如果还是慢,把设计期包改成手动加载——在注册表里把对应包的LoadAtStartup改成 0,需要时再手动勾。
4.4 坑四:卸载不干净导致重装失败
现象:想换版本或者重装,卸载之后重新安装,IDE 提示包已经注册,但控件面板里是空的。
原因:Raize 的安装脚本往注册表里写了包路径,卸载时没清干净。残留的注册表项让 IDE 以为包还在,但实际 BPL 已经删了。
解决:手动清注册表。打开regedit,定位到HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0\Package Cache,把里面所有含Raize的项删掉。然后到HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0\Known Packages,同样删掉 Raize 相关的路径。清完重启 IDE,再重新安装。
4.5 坑五:C++Builder 项目里找不到 Raize 头文件
现象:Delphi 项目正常,但 C++Builder 项目里#include <RzButton.hpp>报找不到文件。
原因:C++Builder 的包含路径和 Delphi 的库路径是分开配的,装 Delphi 包不会自动配 C++ 的路径。
解决:菜单 Tools → Options → Environment Options → C++ Options → Paths and Directories,在 Include Path 里加D:\RSLib\Raize611\Source,在 Library Path 里加D:\RSLib\Raize611\DCU。另外,C++ 项目要用 Raize 的话,还需要把对应的.lib文件加到项目里,这些 lib 在编译 BPL 的时候会一起生成,在 BPL 目录下找。
5. 装完怎么验证:三个必做的检查动作
装完 Raize 6.1.1.12 之后,不要急着开新项目写业务代码,先花十分钟做三个验证,能省掉后面几小时的排查。
第一个验证是包加载状态。打开 Component → Install Packages,确认RaizeComponentsDesign和RaizeComponentsDBDesign两个包前面的勾都打上了,并且 Description 列显示的是Raize Components 6.1.1.12。如果显示的是别的版本号,说明注册表里还有旧版本的残留,回去清一遍。
第二个验证是编译一个最小项目。新建 VCL Application,只放一个RzButton,编译目标切到 Release,Build 一遍。Release 模式会开启代码优化,有些在 Debug 下能过的代码在 Release 下会暴露问题,比如内联函数的版本冲突。这一步过了,说明 DCU 和 BPL 的版本是匹配的。
第三个验证是运行时检查。在窗体上放一个RzGrid,运行时往里面填几行数据,确认表格能正常渲染、滚动条能正常响应。Raize 的表格控件依赖一些运行时资源,如果 BPL 没加载全,设计期看不出来,一运行就报Resource RzGrid not found。
我一般还会做一个额外的动作:把D:\RSLib\Raize611整个目录打个压缩包存起来。因为这套环境一旦配好,以后换机器或者重装系统,直接解压再把路径加回去就行,不用重新编译。从那以后我每次装完这类控件包,都会把编译好的 BPL、DCU 和注册表导出文件一起归档,下次再装直接导入注册表、解压文件、改路径,五分钟搞定。希望帮到你。
本文还有配套的精品资源,点击获取