delphi - 新安装的库的 Delphi 10.x“无法解析单元名称”
问题描述
我在安装一个第三方库的时候遇到了下面这个令人费解的情况,在这个例子中是Virtual Treeview,在这里我将作为一个例子。
按照 INSTALL.txt 中的安装过程后,新组件出现在 Delphi 的组件面板中,并且可以添加到表单中。
但是,构建提供的示例项目之一,在这种情况下“最小”失败,说:
'Cannot resolve unit name "VirtualTrees" at line xxx',这是列出 VirtualTrees 的使用语句。
与该症状一致,在源代码编辑器中,(使用)VirtualTrees 和子组件声明用红色波浪线标记,表示标识符未声明或未解析。
提供的演示项目设置为针对 Windows 32。但令人费解的是,如果我将目标切换到 Windows 64,它将编译。
安装包括:
将提供的 zip 文件解压缩到您找到源包的任何位置。
在 Delphi 中,打开项目组:File > Open .... VirtualTreeView.groupproj
加载后,在项目树中,右键单击 VirtualTreesD26.bpl > Install。
使用“工具 > 选项 > 语言 > Delphi 选项 > 库 > 库路径 > [...]”将 VirtualTreeView 的“源”文件夹添加到库路径
是什么让 IDE 了解该组件,但随后无法为 Windows 32 编译,而为 Windows 64 编译成功?
解决方案
每个目标都有自己的库路径。您已将 VT 路径添加到 Win64 目标,但需要对 Win32 目标执行相同操作。
或者,从 Win64 目标搜索路径中删除 VT 路径,并将它们添加到适用于所有项目的目标中,然后它们将被其他项目继承。
在选项对话框中有一个下拉控件,允许您指定要应用设置的目标。
推荐阅读
- javascript - 如何使用js或j查询根据外部值限制selectpicker多选
- ios - 视图更新后保持对视图/数据模型的引用
- python-3.x - 如何用熊猫计算每一行的标准差?
- r - 在 R 中使用 for 循环查找重叠区域
- python - 为什么我的玩家对象更新分数但不跟踪它是否还活着?
- if-statement - Google表格中带有VLOOKUP的IF条件
- ios - iOS13 UIDocumentPickerViewController - 打开目录不显示选择/打开/取消按钮
- python - 避免连接丢失后的 Python 脚本崩溃
- javascript - 无法使用路由器和 WordPress API 从 React 应用程序中的列表中呈现单页数据
- c++ - % 运算符的 C++ 时间复杂度是多少?