Прежде всего, пожалуйста, простите меня за то, что я не знаю правильной терминологии, я уверен, что для этого есть очень общее техническое название, которое я могу просто помочь Google, но я не могу найти помощь, если я не знаю, для начала.Коллекция DLL в другой назначенной папке?
Я строю модульную систему в Delphi 7. Есть несколько приложений и множество DLL. Все приложения используют эти DLL, а также некоторые DLL используют другие DLL. DLL в настоящее время сохранены в том же месте, что и приложение. Вместо этого я хотел бы поместить все эти DLL в подпапку (в другом месте от EXE), но, конечно, Delphi не будет знать, как их найти.
Есть ли способ, которым я могу направить свои приложения Delphi в определенную директорию для DLL? Он не может использовать Contantants, потому что будет возможность указать, где хранятся библиотеки DLL.
Эти библиотеки DLL - это простая коллекция функций StdCall в каждой, ничего особенного.
EDIT:
Чтобы объяснить причину, почему я хочу, чтобы держать DLL в их собственной папке: Эта система Я здание рассматривает эти DLL в качестве дополнения. По умолчанию система может даже не иметь никаких надстроек. С другой стороны, это также позволит различным производителям создавать другие DLL и включать их в качестве надстроек. Затем каждое приложение, требующее этих надстроек, будет направлено в папку, где их можно найти. Приложение будет иметь собственные DLL, которые будут находиться в том же каталоге, что и приложения. Но DLL Vendors's я хотел бы сохранить отдельно.
Как уже упоминалось в нижеприведенных ответах, наилучшим вариантом было бы реализовать метод импорта DLL, поскольку A) Я могу указать путь для каждой импортируемой DLL, B) Я могу лучше контролировать использование каждой DLL (Does он должен быть загружен или нет?) и C) Каждая DLL может быть технически находиться в отдельных папках сама по себе (вендоры могут захотеть создать собственную структуру папок). Эта система все еще очень зрелая, но я планирую сделать ее более гибкой.
Возможно, вы хотите [установить PATH] (http://edn.embarcadero.com/article/28254) –
@PeterTurner Нет, это не поможет, потому что у меня много разных DLL - некоторые могут быть в другом чем другие. Кроме того, я добавил больше к моему вопросу, чтобы объяснить, почему. –