gpt4 book ai didi

delphi - Delphi XE 无法随机加载设计包有什么想法吗?

转载 作者:行者123 更新时间:2023-12-03 14:59:04 26 4
gpt4 key购买 nike

我创建了一个带有组件注册的设计包(组件本身处于运行时)和一些 IDE 菜单项。

如果我单击项目管理器上下文菜单中的“安装”菜单项 - 包将被加载并正常工作(始终)。

如果我关闭 IDE 并重新启动它 - 包可能加载或可能不加载。看似随意。但它通常不加载,而不是加载。

如果我转到组件/安装包 - 我在列表中看到我的包,复选框被选中,“组件”按钮显示我的包中的组件,但包的可执行文件本身甚至没有加载到 IDE 中! (我已经通过 Process Explorer 验证了这一点)。重新安装(删除包 -> 确定 -> 组件/安装包 -> 添加 -> 确定)没有帮助。但是从项目管理器中项目的上下文菜单卸载/安装 - 总是有帮助的。

我已将 OutputDebugString 添加到包中每个模块的初始化部分中。我发现初始化部分根本不运行。

运行时包与设计时包位于同一文件夹中。文件夹位于 PATH 环境变量中。我还尝试将包放在 Delphi 的 Bin 文件夹中。没有错误消息。没有奇怪/诊断性的 OutputDebugStrings。

有什么想法吗?

附注我在两台不同的机器上都有这种行为。一个是Win7,另一个是WinXP SP 2。

P.P.S。我无法在 Delphi 7 上重现此行为。相同的包,总是为 D7 加载重新编译。

最佳答案

我发现新的Delphi有延迟包加载的功能。当未加载包或不需要包时,这应该可以优化启动速度。

这对于组件包来说效果很好,但会破坏(例如)修改 IDE 菜单的包的乐趣。

您可以通过从Register过程中调用ForceDemandLoadState(dlDisable)来告诉IDE始终加载您的包。

附注为什么你总是在发布问题后几乎立即自己找到答案? :D

关于delphi - Delphi XE 无法随机加载设计包有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com