9

Mike Lischke 的 Virtual treeview 似乎在网络上和作为第三方组件非常流行。我刚刚在我的机器上下载了 4.8.7 版本。

我在 2 个分区中有 Delphi 2010 和 Delphi 7.0。

点击虚拟树视图的安装程序后,有一个日志文件提示,说它已经安装成功。

我检查了 Delphi 2010,是的,它在显示 3 个控件的组件面板上。

但是当我启动 Delphi 7.0 时,IDE 提示“无法加载 VirtualtreesD7.bpl...”。我忽略了它,发现虚拟树视图设计时包在列表中但未选中。如果我尝试检查它,它会再次提示“无法加载 virtualtreesD7 ...”。

我搜索整个磁盘并找到一个 VirtualTreesD7D.bpl,并在设计时包列表中手动添加它。它在带有 3 个控件的调色板上。

我快速测试了它并退出了 Delphi 7.0。但是当我重新启动 Delphi 7.0 时,它再次提示“无法加载 VirtualtreesD7.bpl ...”,它再次不在面板上,也没有在设计时包列表中检查。

这是一个非常简单的问题。你能告诉我如何解决吗?非常感谢您提前。

编辑:

感谢您的评论。

我测试了你的评论,但没有用。

新问题:

如果我通过单击 unins000.exe 卸载虚拟树视图并仅在 Delphi 7.0 中重新安装它,安装程序在最后一个屏幕中提示 ''...completed.." 并且没有错误提示。当我启动 Delphi 7 时,虚拟树视图设计时间package is not in package list. 这比上次更糟糕(上次它在包列表中但没有检查)。

我非常仔细地逐行检查该日志文件,它说:

...
...
VirtualTreesD7.dpk(39) 
VirtualTreesD7.dpk(39) 
VirtualTreesD7.dpk(41) 
VirtualTreesD7.dpk(43) 

**VirtualTreesD7D.dpk(32) Fatal: Required package 'VirtualTreesD7' not found**

为什么?为什么它没有安装成功并且在最后一个安装屏幕中没有提示安装错误。

如何解决这个“致命...未找到”的问题。

谢谢大家的帮助。

新编辑:(这是答案吗?)

首先感谢您的帮助和建议。

我花了 2 个小时进行测试并找到可能的解决方案。它可以在我的机器上运行,并且可以安装在 Delphi 7.0 中。

脚步:

1. uninstall virtual treeview by clicking unins000.exe from Delphi 7.0 ( you can separately install virtual treeview in Delphi 2010)

2. clicking newly downloaded VirtualTreeview setup 4.8.7.exe, install it in Delphi 7 folder, do not install it in default...Rad..path.  Important: INGNORE ALL ERROR PROMPTS DURING INSTALLATION (INCLUDING ERROR PROMPT IN THAT LARGE INSTALLATION LOG FILE).

3. Go to $\Virtual Treeview, right click VirtualTreesD7D.dpk, select Open with Delphi 32 development environment. A window prompts for you to compile. JUST CLICK COMPILE, DO NOT CLICK INSTALL.

4. Go to Component -> Install Packages. Go to $\Bpl folder and manually add VirtualTreesD7D.bpl into Design Package. The three controls will appear in Palette.

5. Go to folder $\Bpl and YOU MUST COPY VirtualTreesD7.bpl (NOT VirtualTreesD7D.bpl) INTO $\Bin folder.

6. Close Delphi 7 and restart it, you will find that this component is on Palette and in Package list, it is in Design package list and CHECKED.

我个人觉得 Virtual treeview 的安装程序需要改进,以使用户免于安装时遇到这样的麻烦和测试。安装程序需要重写。

这是我的安装案例。我不知道它是否可以推广到所有用户。

谢谢你们。

4

2 回答 2

1

IDE 使用 LoadLibrary(实际上是 LoadPackage)为已安装的组件加载包。这意味着它遵循与 LoadLibrary 查找文件相同的逻辑。

问题是 IDE 无法使用 LoadLibrary 的搜索逻辑找到包 - 请参阅此处的备注部分。所以解决办法就是把文件夹加到Delphi的Library Path中(Tools->Options->Environment Options->Delphi Options->Library - Win32),或者把它移到系统PATH的某个地方。

于 2011-02-10T14:00:21.533 回答
0

确保您在环境搜索路径中有 virtualtrees.pas (\source) 所在的文件夹。

您可能需要手动为 Delphi 7 安装 *.dpk 文件。打开 D7.dpk,编译然后打开并安装 D7D.dpk(先运行时,然后是设计时包)在带 Delphi7 的 Delphi2010 上没有这样做,但是安装只有Delphi7就可以了。

*已编辑

于 2011-02-10T12:39:25.360 回答