Главная страница
    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.49 MB
Время: 0.044 c
15-1173293269
syte_ser78
2007-03-07 21:47
2007.04.01
Подскажите автора и название песни


15-1173035989
palva
2007-03-04 22:19
2007.04.01
Борис Стругацкий в качестве политика


8-1145115784
Anjuta
2006-04-15 19:43
2007.04.01
Загузка моделей формата .X


4-1163287948
Ketmar
2006-11-12 02:32
2007.04.01
определить из сервиса, залогинен ли юзер и не админ ли он часом


15-1173433490
Айпиманьяк
2007-03-09 12:44
2007.04.01
Динамический IP :(





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский