|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
bass.dll в указанной папке
Привет.
Как указать проге путь к папке, где находится bass.dll (' plugin\bass.dll')? Обычно я ставлю dll рядом с exe, а нужно как у Aimp, в папке. Спасибо. |
#2
|
||||
|
||||
Код:
var basspath: String; begin basspath:=IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)); basspath:=basspath+'plugin\bass.dll'; LoadLibrary(PChar(basspath)); ... Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Цитата:
Спасибо. Но не заработало. Вставил ваш код в обработчик формы OnCreate, не может найти bass.dll. |
#4
|
||||
|
||||
LoadLibrary возвращает 0? а GetLastError что?
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Цитата:
Прописал: ShowMessage(SysErrorMessage(GetLastError)); чтоб увидеть последнюю ошибку. Как всегда одно и тоже Точка входа в процедуру bass_channelplay не найдена в библиотеке dll bass.dll |
#6
|
||||
|
||||
Инициализация библиотеки происходит раньше чем событие OnCreate. Можно попытаться прописать нужный код в секцию implementation. В поставке bass также имеется pas-файл для динамической загрузки библиотеки.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
||||
|
||||
Библа левая поди.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#8
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#9
|
|||
|
|||
Цитата:
Согласен. Потому, как с basswma.dll кодик работает Код:
procedure TForm1.FormCreate(Sender: TObject); var basspath: String; begin basspath:=IncludeTrailingPathDelimiter(ExtractFilePath (Application.ExeName)); basspath:=basspath+'plugin\basswma.dll'; LoadLibrary(PChar(basspath)); Bass_PluginLoad('basswma.dll', 0); if bass_init(-1, 44100,0, handle,nil)=false then showmessage('Не могу инициализировать поток'); end; Последний раз редактировалось Admin, 04.08.2013 в 12:41. |
#10
|
||||
|
||||
так у тебя статическая или динамическая загрузка? видимо статическая, отсюда и беды. почему результат LoadLibrary не проверяешь и не используешь?
Пишу программы за еду. __________________ |
#11
|
||||
|
||||
Вот-вот, не успел вчера написать про это. Прокатит ли такое "blabla external 'path\lib.dll"?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
|||
|
|||
Цитата:
Из четырех dll-лек которых я использую (bass.dll, AudioGenie3.dll, bass_fx.dll, basswma.dll) все статические кроме basswma.dll. Есть вариант попробовать dynamic_bass.pas, но как его реализовать на практике ума не приложу. |
#13
|
||||
|
||||
первым делом вызвать:
Код:
Function Load_BASSDLL (const dllfilename : String) :boolean; в конце работы: Код:
Procedure Unload_BASSDLL; Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
valvl63 (08.08.2013)
|
#14
|
|||
|
|||
Ну что ж, так и не удалось мне реализовать чего то путного относительно темы. Отложу до лучших времен.
А вот для загрузки dll-лек разных музыкальных форматов из указанной папки пользуюсь строчкой: Код:
BASS_PluginLoad(PChar('папка\имя.dll'), 0); Всем, кто помогал, большое спасибо. |
#15
|
|||
|
|||
Привет.
Ну, вот я снова вернулся к теме. Разобрался с bass.dll. Нужно открыть bass.pas и исправить Код:
// Functions const bassdll = 'bass.dll'; Код:
// Functions const bassdll = 'plugin/bass.dll'; Ну, а потом уже Код:
BASS_PluginLoad(PChar('plugin\bass.dll'), 0); |