- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一般问题是如何解决“由于依赖项不会消失,无论我清理和重新编译多少次,我的 BPL 都不会加载”。 更新 您可能认为您有一个干净的重新编译系统,但由于 Windows 的逆向奇迹及其文件系统虚拟化错误功能,您没有。
当我尝试将我的设计时包(在本例中名为 dclFsTee.bpl
)加载到我的 Delphi IDE(它是快速报告 4 teechart 包装器组件包)中时,它会提示:
The program can't start because tee7100.bpl is missing from your computer. Try reinstalling ...
tee7100.bpl
我所知道的系统上的任何 DCP 或 DCU 文件都没有引用。但很明显,出了点问题,我找不到问题所在。
VirtualStore
related issues由 Windows 7 中的文件虚拟化引起。这意味着 Windows 7 依赖于在它上面运行的程序。它为您提供了另一个版本的文件,这不是您想要的。这在很多方面都是致命的;一;您重新编译了一个 BPL,但这不是加载的那个。杀死我的 BPL 位于作为 VirtualStore 一部分的 SysWow64 文件夹中。请注意,虚拟存储基本上会使幻影文件出现,只有当您是某个“低权限”程序时才会出现幻影文件,这显然是 Win7/64 位的 Delphi 2007。要删除当前用户帐户的 SysWow64 VIRTUALSTORE 文件夹中的 BPL 文件:
del %HOMEPATH%\AppData\Local\VirtualStore\Windows\SysWow64\*.bpl
最佳答案
好的,没有其他人回答,所以我会把它放在这里对 future 的人有帮助:
-- 在清理损坏的系统时,请记住 Windows VirtualStore,这些系统上有旧版本的 DLL,包括 TeeChart、FastReport、Indy 等,这些系统往往会陷入困惑,因为它们可以作为“delphi 附带的开箱即用包”存在以及如果您直接从供应商处购买并安装它们,则经常作为升级版本安装,或者第三,您可能在公司的 mega-component-pack-目录中拥有自己的编译副本。
-- 当搜索重复的或过时的 BPL 时,在 Windows 中进行文件搜索不会在虚拟存储中查找,您必须手动为您的进程或用户或程序定位并清除整个虚拟存储区域。
这个问题的第二层是这样的:
FastReports 的依赖图很复杂:
C:\Windows\System32
中时发生的可怕事情。 (在 32 位系统上)和 C:\Windows\SysWow64
(64 位系统上的等效路径)。 关于delphi - 解决无法加载 BPL 但您已经重新编译的 Delphi BPL 包问题(Windows VirtualStore 文件系统问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161554/
我正在使用 C++ Builder 10 Seattle,我正在尝试安装一个组件包,该组件包注册了在不同 bpl 中实现的组件。 从技术上讲,我已经这样做了: 我创建了两个包。一个仅定义为运行时 (c
我想知道是否有人知道一种优雅的方法来确定给定(编译)的 DLL、EXE 或 BPL 需要哪些 BPL。 我不确定这是否可能比简单地扫描二进制文件中对 .bpl 文件名的文本引用(这可能容易出现误报 )
我的一般问题是如何解决“由于依赖项不会消失,无论我清理和重新编译多少次,我的 BPL 都不会加载”。 更新 您可能认为您有一个干净的重新编译系统,但由于 Windows 的逆向奇迹及其文件系统虚拟化错
Delphi 中设计时包的可怕错误之一是以下错误,这意味着注册安装新组件到您的 Palette 上的包: Component TSomething can't be registered by pac
我有一个 BPL 项目(带有一些基本内容)和一个 EXE 项目,该项目的搜索路径中包含其他项目输出(BPL 和 DCP)的位置。当使用“Build With Runtime Packages”构建 E
我在 Internet 上发现的每个 BPL 相关问题都涉及一些 BPL,这些 BPL 已经随 Delphi 一起提供,或者至少在全局范围内安装到 Delphi 文件夹中。 我想制作我自己的应用程序来
我正在学习 TMS 的一个组件。我收到“...rtl100.bpl 未找到...”。如果我使用包含“rtl”的“使用运行时包构建”,可能会发生此错误。 rtl100.bpl 在哪里(我使用的是 D20
情况如下。我通常使用 RAD Studio 2010 进行 Delphi 开发。我有一些组件想以二进制形式重新分发(*.bpl,没有源代码)。但我希望人们能够使用它们,尽管有 Delphi 版本。但是
有一个从 BPL 导出的函数,简化如下 function DoA(amount: currency; var Info: string): Currency; stdcall; begin re
看起来很简单,但下面的代码不起作用。 BPL: procedure DoSomething(); begin LogEvent('Did'); end; exports DoSomething
我使用ADO Component制作了一个应用程序,并使用它连接到Oracle,当我在另一台计算机上运行它时,我没有任何问题。 但是,当我使用ODAC组件和TOraSession并通过Direct C
是否可以在程序启动时检查客户端计算机上安装了哪个版本的 BPL(即 Rtl70.BPL、Indy70.bpl 等)? 我有一些程序崩溃,因为那里计算机上的 BPL 与构建机器上的不同。 如果我必须在每
我使用 Delphi XE,我有以下设置: Mydll.dll和Package1.bpl(运行时包)都包含Unit3.pas unit Unit3; interface implementation
我正在尝试将 Orpheus 4.08 的最新版本添加到 Delphi XE2 和 Delphi XE3 中。除了通常的警告之外,包编译时没有错误,并且编译器发出成功信号。但是,我找不到 *.bpl
我正在 RAD Studio 2007 中开发一个项目,使用 C++ 中的 VCL 类。 TDBLookupControl 是 VCL 的一部分,并且有一些不良行为,这是由于使用内部变量 Search
试图了解为什么我们会收到“未找到入口点”的消息,而我知道它应该在那里。除了 map 之外,是否有一个工具可以“探索”.bpl 或 .dll 并显示入口点? 最佳答案 Delphi 附带 a comma
我正在一名delphi IDE专家中工作,现在为了避免依赖性问题,我正在考虑将这位专家重建为dll专家,正如其中一个answers中所建议的那样。 ,现在我的专家(编译为 bpl)访问 Screen
如果我在 EXE 中有一个资源并且我想提取它,这非常简单。像这样的东西: stream := TResourceStream.Create(HInstance, ResourceName, RT_RC
从 BPL 中,是否可以获得自己的文件名?例如C:\foo\bar.bpl (动态加载和delphi7,如果重要的话) 最佳答案 调用GetModuleFileName 。对于模块句柄,请使用 Sys
我想创建 *.bpl 文件,但我没有这样做。 具体来说,我正在尝试制作 JEDI 插件,但我也尝试过一个空的纯 Delphi 包。 如果我在 Delphi XE3 中创建一个新包,我会得到一个空单元
我是一名优秀的程序员,十分优秀!