首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Delphi 10.x无法解析新安装的库的设备名称

Delphi 10.x无法解析新安装的库的设备名称
EN

Stack Overflow用户
提问于 2019-04-18 16:22:31
回答 2查看 1.5K关注 0票数 2

在安装第三方库时,我遇到了以下令人费解的情况,在本例中为Virtual Treeview,我将在本文中将其用作示例。

遵循INSTALL.txt的安装过程后,新组件出现在Delphi的组件面板中,并且可以添加到表单中。

然而,构建一个提供的示例项目,在本例中是"Minimal“失败,如下所示:

‘无法在第xxx行解析单元名称" VirtualTrees“,这是列出VirtualTrees的uses语句。

与此症状一致的是,在源代码编辑器中,(使用) VirtualTrees和辅助组件声明被标记为红色曲折,表示标识符未声明或未解析。

提供的演示项目设置为以Windows32为目标。但令人费解的是,如果我将目标切换到Windows64,它将会编译。

安装包括:

  1. 将提供的压缩文件解压缩到您找到源包的任何位置。
  2. 在Delphi中,打开项目组:文件>打开...在项目树中,右键单击VirtualTreesD26.bpl >Install。
  3. 将VirtualTreeView的“VirtualTreeView.groupproj
  4. Once”文件夹添加到库路径,使用"Tools > Options > Language > Delphi Options > Library > Library Path > ..."

是什么让IDE知道该组件,但在Windows32下编译失败,但在Windows64上却成功了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-18 16:48:49

每个目标都有自己的库路径。您已经将VT路径添加到Win64目标,但需要对Win32目标执行相同的操作。

或者,从Win64目标搜索路径中删除VT路径,并将它们添加到适用于所有项目的目标中,然后它们将被其他项目继承。

在选项对话框中有一个下拉控件,允许您指定要将设置应用到的目标。

票数 3
EN

Stack Overflow用户

发布于 2019-04-22 07:34:09

简而言之,库路径设置不正确。感谢大卫·赫弗南指出了这一点。

但是如何和为什么呢?

我遗漏的关键部分是,库设置对话框捕获了适用于每个不同平台目标的不同路径集。因此,在Library Settings对话框的顶部有一个"Selected Platform“下拉列表,它控制下面的设置将应用于哪个平台。

为了能够构建Win 32 VCL应用程序,需要专门为Windows 32设置库路径,这意味着在执行将路径添加到Virtual TreeView的源目录的步骤之前,将所选平台下拉菜单设置为Windows 32。

回想起来很明显,也许这篇文章将有助于将“无法解析单位名称”与这一潜在原因联系起来。

关于为什么会发生这种情况,有几个问题需要补充。

a)来自旧版本Delphi的用户可能在处理多个平台之前熟悉此库设置对话框,因此没有意识到它现在具有“选定平台”功能。

b)在我安装的全新的Delphi 10.3上,每次打开Library Settings对话框时,"Selected Platform“下拉列表都会恢复到Windows 64。它既不与当前打开的项目的平台协调,也不记得您上次设置它是什么。所以很容易忽略它没有设置到您假设的平台,除非您知道要显式查看。

尽管此功能为整个Delphi安装设置库路径(“全局”),但在项目级别存在重叠设置,如下所示(对于示例"Minimal“项目),了解这一点可能也很有用:

项目树,ProjectGroup1 > Minimal.exe >构建配置>右键单击>(项目选项对话框)构建> Delphi编译器>目标(所有配置或特定目标)>“搜索路径”栏。

显然,Delphi将“搜索路径”与工具> ... >库设置>库路径合并在一起。

最后,对于Virtual Treeview,它的维护者Joachim Marder在安装指令中添加了一个注释,以避免这里描述的陷阱。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55741919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档