gpt4 book ai didi

delphi - DLL搜索路径仅部分搜索

转载 作者:行者123 更新时间:2023-12-03 19:05:58 25 4
gpt4 key购买 nike

我刚刚安装了一台新的更快的计算机作为我的开发站。运行运行正在使用Delphi 6 Pro的应用程序时,找不到DLL的问题,但是我认为问题不出在Delphi上。请记住,我在旧计算机上的目录和工具具有完全相同的设置,并且在该计算机上可以在运行时无故障地找到DLL。症状似乎是仅搜索PATH环境变量中的某些目录,而没有搜索最近添加的目录。我尝试将包含丢失的DLL的目录放入当前用户PATH中,然后放入系统PATH中,但仍找不到该DLL。

以下是一些事实:


如果我运行命令窗口并查询PATH,则DLL的正确路径的确会出现在PATH环境变量中。
如果将DLL放在Windows主目录之类的目录中,则会在运行时找到它。
如果我使用Unix风格的“ whereis”实用程序形式flounder.com,它将在PATH中找到DLL。
我在运行时使用Process Monitor实用程序(是SysInternals,现在是Microsoft的)监视程序,因此我可以观察系统搜索DLL的过程。系统确实在路径的10个子目录中搜索了7个,但是由于某些原因,正如我上面所说,它忽略了其中的3个。注意,我知道从路径中删除了无效目录,但是我三重检查了一下,它们确实是有效目录。
最后,我创建了一个C:\ DUMMY目录,并将该目录添加到PATH环境变量中,当我检查Process Monitor时,也从未搜索该目录。


这是我从未见过的非常奇怪的行为。就像在搜索DLL时,系统正在使用的旧PATH之前,有一个旧PATH的幻影副本。

有人有解决方案或诊断想法吗?

谢谢。

最佳答案

确保更改了系统PATH变量(使用“控制面板”),然后完全从全新启动任何进程。如果要运行Delphi,请更改路径,然后在调试器中运行应用程序,则将看不到新路径,因为它将从启动过程继承PATH,而该过程仍然具有旧的路径。您应该重新启动Delphi才能看到新路径。

关于delphi - DLL搜索路径仅部分搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2331564/

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