Вверх ↑
Этот топик читают: Гость
Ответов: 1429
Рейтинг: 50
#1: 2010-08-18 06:41:03 ЛС | профиль | цитата
Никак не могу приступить к работе с bassasio.dll.
Как только дописываю ее в строку " uses Kol,Share,Debug,bassasio;", проэкт тут же перестает компилироваться, не выдавая ни каких (понятных мне) ошибок. При этом обычная bass.dll ведет себя нормально. Выдает красные, понятные, ошибки.

Код элемента выглядит так:
code_20065.txt

Отладка выглядит так:


Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: dcc32.exe "D:\Program Files\HiAsm\Elements\delphi\code\asio 1.dpr" "-U D:\asio\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation

D:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(159) Warning: Variable 'd' might not have been initialized

D:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(176) Warning: Variable 'd' might not have been initialized

D:\Program Files\HiAsm\Elements\delphi\code\WinLayout.pas(40) Hint: Private symbol '_onObjDestroy' declared but never used

D:\Program Files\HiAsm\Elements\delphi\code\hiAsio_inits.pas(5) Fatal: File not found: 'bassasio.dcu'
Сборка завершена.



Требования к функции такие:

function BASS_ASIO_Init(device: DWORD): BOOL; stdcall; external bassasiodll;


карма: 0

0
файлы: 1code_20065.txt [519B] [359]
Ответов: 3349
Рейтинг: 233
#2: 2010-08-18 07:09:15 ЛС | профиль | цитата
File not found: 'bassasio.dcu'
Перевожу
не найден файл bassasio.dcu.
Может так?
function BASS_ASIO_Init(device: DWORD): BOOL; stdcall; external bassasio.dll;
карма: 1

0
Ответов: 1429
Рейтинг: 50
#3: 2010-08-18 07:15:05 ЛС | профиль | цитата
Из этой строки я использую только: BASS_ASIO_Init(device: DWORD)
Так сделано для bass.dll пакета hiAsm.

Что такое bassasio.dcu я не понимаю.
карма: 0

0
Ответов: 3349
Рейтинг: 233
#4: 2010-08-18 07:28:03 ЛС | профиль | цитата
uses Kol,Share,Debug,BASS;
Это значит что в папке code есть bass.pas, то есть юнит для работы с ним.
А у тебя нет bassasio.pas вот он и ругается.
------------ Дoбавленo в 07.27:
dcu - delphi compilated unit
------------ Дoбавленo в 07.28:
Не забывай про константы
const
bassdll = 'bass.dll';

function BASS_SetConfig(option, value: DWORD): BOOL; stdcall; external bassdll;
карма: 1

1
Голосовали:login
Ответов: 5446
Рейтинг: 323
#5: 2010-08-18 07:28:03 ЛС | профиль | цитата
login, смотри:

  • ты требуешь модуль "bassasio" (он у тебя в строке uses).
  • Delphi пытается найти файл "bassasio.dcu", которого у тебя нет
  • Delphi пытается найти файл "bassasio.pas", чтобы откомпилировать его в "bassasio.dcu", но pas-файла у тебя тоже нет!
  • Delphi грязно ругается на родной мове, что не может найти требуемый файл, и забивает на дальнейшую компиляцию


Ivann, опередил
карма: 1

1
Голосовали:login
Ответов: 1429
Рейтинг: 50
#6: 2010-08-18 07:31:25 ЛС | профиль | цитата
!!! Спасибо! Заработало!

Я этого всего не знал
карма: 0

0
Ответов: 3349
Рейтинг: 233
#7: 2010-08-18 07:37:51 ЛС | профиль | цитата
login, раз никто не взялся за компонент, решил сам делать?
карма: 1

0
Ответов: 1429
Рейтинг: 50
#8: 2010-08-18 07:42:19 ЛС | профиль | цитата
Да, я вроде преодолел "порог непонимания" как делають компоненты HIAsm.
Теперь попробую осилить ASIO + VST + VSTi
карма: 0

0
Ответов: 3349
Рейтинг: 233
#9: 2010-08-18 07:47:07 ЛС | профиль | цитата
Мой совет, лучше использовать динамическую линковку.
------------ Дoбавленo в 07.47:
[flood]
iarspider писал(а):
Ivann, опередил
Караулил [/flood]
карма: 1

0
Ответов: 1429
Рейтинг: 50
#10: 2010-08-18 07:48:44 ЛС | профиль | цитата
Ну, я мало знаю, смотрю как сделан bass в стандартном пакете, и делаю аналогично.
А есть пример динамической линковки в стандартном пакете?
карма: 0

0
Ответов: 3349
Рейтинг: 233
#11: 2010-08-18 07:49:22 ЛС | профиль | цитата
KeyHook
карма: 1

0
Ответов: 1429
Рейтинг: 50
#12: 2010-08-18 08:02:45 ЛС | профиль | цитата
Хорошо, посмотрю!
------------ Дoбавленo в 08.02:
Да, еще вопрос.
Для bass_vst.dll нет файлов .pas, там только С++

Что этот файл прийдется самостоятельно создавать? Это получится?
карма: 0

0
Ответов: 3349
Рейтинг: 233
#13: 2010-08-18 08:11:01 ЛС | профиль | цитата
Подключай файл сразу в компонент, там только API знать нужно.
------------ Дoбавленo в 08.09:
Вот bassasio для delphi
------------ Дoбавленo в 08.11:
Осталось только подключить, смотри в папке delphi.
К vcl не привязан так что без проблем можно подключить.
карма: 1

0
файлы: 1bassasio10.zip [143KB] [359]
Ответов: 1429
Рейтинг: 50
#14: 2010-08-18 08:12:43 ЛС | профиль | цитата
А как сразу в компонент?

API я так понимаю есть в самом файле C++, например послать миди-сообщение у них так:

BASS_VST_ProcessEvent(vstHandle, 0, MIDI_EVENT_NOTE, MAKEWORD(60, 100));

Это "BASS_VST_ProcessEvent(...);" можно и в дерфи .pas написать. Или нет?
------------ Дoбавленo в 08.12:
Я ж и говорю, что в bass_vst.dll нет папки delphi
http://hiasm.com/forum_serv.php?q=56&id=1694
карма: 0

0
Ответов: 3349
Рейтинг: 233
#15: 2010-08-18 08:16:42 ЛС | профиль | цитата
Это не bassasio a bass_vst
Смотри мой архив, там все что нужно для компонента.
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)