Я только что установил новый, более быстрый компьютер, чтобы быть моей станцией разработки. У меня проблема с библиотекой DLL, которая не была обнаружена при запуске приложения, над которым я работаю, с использованием Delphi 6 Pro, но я не думаю, что проблема с Delphi. Имейте в виду, у меня точно такая же настройка, что и для каталогов и инструментов на моем старом компьютере, и на этом компьютере DLL всегда обнаруживается во время выполнения. Симптом, по-видимому, заключается в том, что только некоторые каталоги в моей переменной среды PATH находятся в поиске, а добавленные в последнее время - нет. Я попытался поместить директорию, которая содержит недостающую DLL в текущем пользовательском PATH, а затем в системном PATH, и DLL все еще не может быть найдена.
Вот несколько фактов:
В переменной среды PATH появляется правильный путь к DLL, если я запускаю командное окно и запрашиваю PATH.
Если я поместил DLL в каталог, подобный основному каталогу Windows, он будет найден во время выполнения.
Если я использую форму утилит "whereis" в стиле Unix flounder.com, она находит DLL в ПУТИ
Я контролировал программу во время выполнения с помощью (был SysInternals теперь Microsoft) утилиты Process Monitor, чтобы я мог наблюдать за системой, ищущей DLL. Система выполнила поиск 7 из 10 подкаталогов в пути, но по какой-то причине, как я сказал выше, проигнорировала 3 из них. Обратите внимание, я знаю, что неверные каталоги удалены из пути, но я проверил трижды, и они действительно являются действительными каталогами.
Наконец, я создал каталог C: \ DUMMY и добавил этот каталог в переменную среды PATH, и когда я проверял Process Monitor, этот каталог тоже никогда не просматривался.
Это действительно странное поведение, которого я никогда раньше не видел. Как будто есть призрачная копия старого PATH до того, как в него были внесены определенные изменения, которые система использует при поиске DLL.
У кого-нибудь есть решение или диагностические идеи?
Спасибо.