![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Всем привет!
Ситуация такова: есть DLL. Из неё импортируются функции. Но проблема в том, что имя DLL (путь) до запуска exe не известно.
Относительные пути не пойдут. Как это нужно импортировать в таком случае? -------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Как так неизвестно? Ты уж определись где она будет лежать или скажи более точно причину, почему неизвестен путь.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| eof |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 30.5.2003 Репутация: нет Всего: нет |
<Spawn> Ну например имя библиотеки и путь может передаваться при запуске программы в виде параметров, или указываться в настройках (в одном из клиентбанков видел такой диалог, он назывался "путь к бизнеслогике"), вариантов довольно много...
|
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Причина такова: Это значение будет браться из реестра, куда его записует другая программа. А эта программа может находиться в произвольном месте (но стоять она будет точно).
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
eof полностью согласен
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
А ты прочитать это значение реестра не можешь? А если можешь, то в чем тогда проблема?
Это сообщение отредактировал(а) <Spawn> - 3.6.2003, 17:43 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Я ем сорри
Вопрос такой как динамически подставлять значения вместо 'C:\......\......\.....dll'? -------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| eof |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 30.5.2003 Репутация: нет Всего: нет |
как подгрузить dll во время выполнения проги.
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Что то я не совсем пойму. Но, если ты можешь прочесть данные реестра, то подгружаешь ДЛЛ при помощи LoadLibrary (SafeLoadLibrary) и извлекаешь нужные тебе функции. Это сообщение отредактировал(а) <Spawn> - 3.6.2003, 17:51 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| eof |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 30.5.2003 Репутация: нет Всего: нет |
только что нашел в helpe... долго искал |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
А можно подробнее по поводу SafeLoadLibrary?
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
То же самое что и LoadLibrary, но выполняет безопасную загрузку ДЛЛ.
Safe and simple library loading. Unit SysUtils Category Package support routines Delphi syntax: On Windows: function SafeLoadLibrary(const Filename: string; ErrorMode: UINT = SEM_NOOPENFILEERRORBOX): HMODULE; On Linux: function SafeLoadLibrary(const FileName: string; Dummy: LongWord = 0): HMODULE; C++ syntax: On Windows: extern PACKAGE HMODULE __fastcall SafeLoadLibrary(const AnsiString Filename, unsigned ErrorMode = SEM_NOOPENFILEERRORBOX); On Linux: extern PACKAGE unsigned __fastcall SafeLoadLibrary(const AnsiString FileName, unsigned Dummy = 0); Description SafeLoadLibrary loads a Windows DLL or Linux shared object file, as specified by Filename. SafeLoadLibrary preserves the current FPU control word, preventing library initialization code from permanently overwriting precision and exception masks. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| eof |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 30.5.2003 Репутация: нет Всего: нет |
так они и перепечатали весь хелп
|
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
сенкю
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
eof
Не надо издеваться - я уже 2 дня сижу без хелпа, пришлось убить -------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |