Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2010, 16:45   #1
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию Bass.dll в ресурсы

Я запаковал в ресурсы, распаковываю при старте в папку с программой но вылетает ошибка:

Запуск программы невозможен, так как на компьютере отсутствует bass.dll.
Что делать?
KoBRaAndrey вне форума Ответить с цитированием
Старый 03.10.2010, 16:53   #2
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Видимо распаковываешь уже после того, как прога пытается найти dll.
Юзай динамическую подгрузку DLL.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 03.10.2010, 17:03   #3
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

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

Последний раз редактировалось KoBRaAndrey; 03.10.2010 в 17:07.
KoBRaAndrey вне форума Ответить с цитированием
Старый 03.10.2010, 19:37   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Пример не нужен. Просто просмотри код на событие формы OnCreate и OnShow, чтобы там вначале распаковывался ресурс с библиотекой и только потом уже шло обращение к ней.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 03.10.2010, 19:39   #5
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

я так и делал =(
KoBRaAndrey вне форума Ответить с цитированием
Старый 03.10.2010, 19:40   #6
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Тогда код в студию и строку которую Делфи при ошибке подсвечивает.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 03.10.2010, 19:45   #7
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Возможно код распаковки нужно засовывать вообще в .DPR файл проекта перед Application.Initialize:
Код:
uses
  Windows,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
{$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED}
{$R *.res}

begin
   {!!!!!!!!!!!!!!!!!!!!!!!}
   {ВОТ СЮДА ВОЩЕ}
   {!!!!!!!!!!!!!!!!!!!!!!!}
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 03.10.2010, 19:46   #8
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Возможно код распаковки нужно засовывать вообще в .DPR файл проекта перед Application.Initialize:
Зачем так изгаляться?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 03.10.2010, 20:17   #9
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Зачем так изгаляться?
Потому что я хз, на каком этапе Дельфи пытается подгрузить статичные либы.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 03.10.2010, 20:38   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

тогда надо динамически загружать DLL, потому что то что прописанно статически загружается виндой до старта кода.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
Dll в ресурсы RIO Общие вопросы Delphi 2 01.09.2009 01:56
Ресурсы в DLL Pedro Общие вопросы Delphi 1 25.05.2008 22:41
Ресурсы в Dll Кролик Общие вопросы Delphi 3 03.09.2007 14:39