Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

пути поиска bpl-файлов   Найти похожие ветки 

 
Антоныч_ск   (2007-03-06 09:40) [0]

Подскажите пожалуйста, как можно программно указать путь, где содержатся bpl-файлы. Дело в том, что я компилирую программу без runtime-пакетов и хотелось бы, чтобы при переносе на другой компьютер bpl-файлы не копировались бы в каталог WINDOWS\SYSTEM32, а находились бы, например, в:
{каталог программы}\bpl\
Естественно, {каталог программы} может быть каким угодно. В Environment Options пути для bpl можно указывать только статические, а вот как сделать их динамическими - не могу понять.


 
Сергей М. ©   (2007-03-06 09:44) [1]

О каких bpl может идти речь, если ты сам сказал, что сборка приложения у тебя осуществляется без использования ран-тайм пакетов ?


 
Ega23 ©   (2007-03-06 09:46) [2]

regsvr32 /s " + ExtractFileName(DllList.Strings[i])

И складывай их туда, где тебе хоцца.


 
Антоныч_ск   (2007-03-06 09:54) [3]

Сергей М.:
Ну, значит я неправильно сформулировал, но факт в том, что exe-шник у меня идёт отдельно, и bpl-файлы к нему тоже отдельно :)

Ega23:
Можно поподробнее, не пойму, куда это всобачить-то :).


 
Reindeer Moss Eater ©   (2007-03-06 09:59) [4]

BPL ищутся системой там же, где ею ищутся DLL.


 
palva ©   (2007-03-06 10:03) [5]

То есть, либо положить в ту же директорию, что и exe, либо директория, в которой они лежат, должна быть прописана в PATH. Если модификация PATH по каким-то соображениям невозможна, то для запуска приложения можно составить bat файл из двух строчек. Первая модифицирует PATH (временно), вторая запускает приложение.


 
Сергей М. ©   (2007-03-06 10:04) [6]


> Антоныч_ск   (06.03.07 09:54) [3]


И в чем проблема ?

Если статически компонуемый модуль находится в том же каталоге, где размещен стартуемый исполняемый модуль, он будет найден загрузчиком автоматически ..


 
Антоныч_ск   (2007-03-06 10:05) [7]

То есть, при запуске программы придётся вызывать regsvr32 и регистрировать путь поиска dll-файлов. А если у пользователя ограничены права? Точно знаю, что с правами "User" regsvr32 посылает подальше.


 
Антоныч_ск   (2007-03-06 10:05) [8]

То есть, при запуске программы придётся вызывать regsvr32 и регистрировать путь поиска dll-файлов. А если у пользователя ограничены права? Точно знаю, что с правами "User" regsvr32 посылает подальше.


 
Антоныч_ск   (2007-03-06 10:08) [9]

2 Сергей М:
Ну не хочу я в том же каталоге... хочу в отдельном, чтобы покрасивше было :)

То есть, как я понял, без изменений настроек системы пользователя, пусть даже временных, обойтись никак нельзя...


 
Сергей М. ©   (2007-03-06 10:12) [10]


> Антоныч_ск   (06.03.07 10:08) [9]


> То есть, как я понял, без изменений настроек системы пользователя,
>  пусть даже временных, обойтись никак нельзя...


Конечно нельзя.
Системе же должен быть известен "алгоритм" поиска модулей, если они расположены по нестандартным путям..

А regsvr32 не имеет твоей задаче прямого отношения - эта утилита регистрирует только модули, в которых реализованы фабрики классов OLE/COM-серверов автоматизации.


 
Reindeer Moss Eater ©   (2007-03-06 10:15) [11]

HKLM\Software\Microsoft\Windows\Current Version\App Path\<your_exe_name.exe>


 
Антоныч_ск   (2007-03-06 10:15) [12]

Сергей М.:
см. [2]. Поэтому и спросил про regsvr32, т.к. смутило, причём тут это :)


 
DrPass ©   (2007-03-06 10:18) [13]


> см. [2]. Поэтому и спросил про regsvr32

Мало ли что где пишут...


 
Антоныч_ск   (2007-03-06 10:22) [14]

Ладно, всё равно всем спасибо, буду размещать в том же каталоге...


 
Reindeer Moss Eater ©   (2007-03-06 10:23) [15]

Ладно, всё равно всем спасибо, буду размещать в том же каталоге...

Интересно, а зачем тогда вообще использовать bpl?


 
Антоныч_ск   (2007-03-06 15:08) [16]

Рассказываю конкретно свою ситуацию. Я скачал компонент для доступа к Oracle: "Oracle Data Access Component". Всё работает просто супер, но есть одно но: пока этот компонент не зарегистрирован (trial version), 3 bpl-файла, необходимых для его работы, не включаются при компиляции в exe-шник. Собственно, и фиг с ними, :) но я хотел поместить их в отдельную папку, чтобы не мозолили глаза пользователям в основном каталоге с exe-шниками и вызывали ненужных глупых вопросов типа "А зачем?", "А что это?", "А можно удалить?" :)


 
Сергей М. ©   (2007-03-06 15:19) [17]


> Антоныч_ск   (06.03.07 15:08) [16]
>

Так ведь эта самая твоя ситуация не имеет ничего общего с опциями сборки твоего приложения)

Компонент-то этот поставляется, очевидно, в виде dcu+bpl. Эти самые dcu уже ссылаются на bpl, и повлиять на этот факт манипуляциями упомянутого выше флага сборки ты никак не можешь, хоть из штанов выпрыгни)


 
Reindeer Moss Eater ©   (2007-03-06 15:26) [18]

Либо [4], либо [11], либо в папку с программой



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
15-1173435430
alex-drob
2007-03-09 13:17
2007.04.01
Что за вирус?


3-1168319296
Loginov Dmitry
2007-01-09 08:08
2007.04.01
Медленно изменяются записи при включенном CachedUpdates


15-1173166807
Glivera
2007-03-06 10:40
2007.04.01
BIOS ROM Checksum error


15-1173236991
Slider007
2007-03-07 06:09
2007.04.01
С днем рождения ! 7 марта


15-1173259369
Оззя
2007-03-07 12:22
2007.04.01
DelphiGFX умер?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский