我使用包,甚至创建它们,但恐怕我从来没有理解它们。我最近安装了 JCL 和 JVCL(顺便说一句很棒的软件包!)。在表单上放置一些控件。一切都好。我的测试应用程序中也使用了相同的表单。编译器会询问绝地单元在哪里:例如 JvExControls。到目前为止,我通过将单元添加到我的项目中解决了这个问题,但这对于 Jedi 文件是不可行的。
这似乎是一个路径问题,但据我所知,Jedi 设置了路径。我究竟做错了什么?
提前感谢您的帮助。
JVCL 安装程序通常会为您执行此操作。您的计算机环境中可能有一些奇怪的东西阻止安装程序执行此操作,或者您可能在安装后搞砸了。我希望您尝试了通常的第一件事,即重新运行 Jedi JCL,然后重新运行 JVCL 安装程序?(JVCL 取决于 JCL,因此您要查找的单元可能是 JCL 的一部分,而不是 JVCL。)
所以有 BPL 文件,它们位于必须位于系统PATH
环境变量中的文件夹中,因此它们可以由 RAD Studio IDE 定位。
其次,有 PAS 文件,通常通过浏览全局目录中的目录来找到这些文件library path
——安装程序通常会为你设置这些文件,在 Jedi 的情况下,它通常指向 DCU 文件而不是 PAS 文件——如果你没有自从安装程序运行以来,不要弄乱你的库路径,那么它应该包含所有 delphi 单元的路径,包括 Jedi JVCL 单元和其他组件供应商的文件夹。
第三,一些开发人员选择Search Path
在 Project Options 中为他们拥有的每个单独的项目文件设置他们的 Project 选项,以便 Delphi 可以找到东西。
您不仅应该检查所有三件事(PATH
如果 IDE 在启动时无法加载包,则检查环境变量,以及其他,如果您的代码无法构建),您还应该寻找重复或额外的副本。
不要将单位添加到您的项目中,而是尝试使用您的项目Search Path
选项。
更新这可能是因为您通过将 jvcl/jcl 单元添加到您的项目中来显式地重新编译它们,并且因为您(因此)在 jedi Library Dcu 文件夹之外的所有地方都有 Jedi JVCL DCU 文件,所以您有一个混乱。您的解决方案是每次都从源代码构建它,这有点慢,但有利于为您工作,所以没关系。