Не работает корректно DLL в которой подключается библиотека работы с устройством
От: Alexcbr Россия  
Дата: 28.03.13 22:03
Оценка:
Не работает корректно DLL в которой подключается библиотека работы с устройством, в данном случае взял пример работы со звуком через API OpenAL, при создании проекта консольного приложения (exe), работа по инициализации API происходит корректно, когда из проекта создаю DLL, и потом его вызываю "родительскую" DLL то на начальной стадии инициализации звукового драйвера вызываемые функции звукового API (OpenAL) зависают. (Смотрел по отладчику).
То есть

Главное приложение вызывает --> Созданную мною Dll которая вызывает функции--> dll OpenAL

Проблема повторилась при работе с USB устройством по той же схеме.

Подсознательно понимаю, что устройства наверное запрашивают какой-то контекст у родителя, а в этой цепочке родитель стоит ещё выше (ладно, это догадки....)

P.S.: к вопросу зачем такой геморрой, в Matlab вызываю свою библиотеку работы со звуком, т.к. звук в нем реализован с задержками. Проблема с USB устройством решилась заменой динамической библиотеки на статическую, но в данном случае этот номер не подходит.

HELP!!!
dll openal
Re: Не работает корректно DLL в которой подключается библиотека работы с устройс
От: saf_e  
Дата: 29.03.13 08:38
Оценка: 9 (1)
Здравствуйте, Alexcbr, Вы писали:

A>Не работает корректно DLL в которой подключается библиотека работы с устройством, в данном случае взял пример работы со звуком через API OpenAL, при создании проекта консольного приложения (exe), работа по инициализации API происходит корректно, когда из проекта создаю DLL, и потом его вызываю "родительскую" DLL то на начальной стадии инициализации звукового драйвера вызываемые функции звукового API (OpenAL) зависают. (Смотрел по отладчику).

A>То есть

A>Главное приложение вызывает --> Созданную мною Dll которая вызывает функции--> dll OpenAL


A>Проблема повторилась при работе с USB устройством по той же схеме.


A>Подсознательно понимаю, что устройства наверное запрашивают какой-то контекст у родителя, а в этой цепочке родитель стоит ещё выше (ладно, это догадки....)


A>P.S.: к вопросу зачем такой геморрой, в Matlab вызываю свою библиотеку работы со звуком, т.к. звук в нем реализован с задержками. Проблема с USB устройством решилась заменой динамической библиотеки на статическую, но в данном случае этот номер не подходит.


A>HELP!!!


<telepath>
Попробуйте это делать не из DllMain.
</telepath>

Из вашего описания это все что приходит в голову
Re[2]: Не работает корректно DLL в которой подключается библиотека работы с устр
От: Alexcbr Россия  
Дата: 30.03.13 11:57
Оценка:
Здравствуйте, saf_e, Вы писали:

_>Здравствуйте, Alexcbr, Вы писали:


A>>Не работает корректно DLL в которой подключается библиотека работы с устройством, в данном случае взял пример работы со звуком через API OpenAL, при создании проекта консольного приложения (exe), работа по инициализации API происходит корректно, когда из проекта создаю DLL, и потом его вызываю "родительскую" DLL то на начальной стадии инициализации звукового драйвера вызываемые функции звукового API (OpenAL) зависают. (Смотрел по отладчику).

A>>То есть

A>>Главное приложение вызывает --> Созданную мною Dll которая вызывает функции--> dll OpenAL


A>>Проблема повторилась при работе с USB устройством по той же схеме.


A>>Подсознательно понимаю, что устройства наверное запрашивают какой-то контекст у родителя, а в этой цепочке родитель стоит ещё выше (ладно, это догадки....)


A>>P.S.: к вопросу зачем такой геморрой, в Matlab вызываю свою библиотеку работы со звуком, т.к. звук в нем реализован с задержками. Проблема с USB устройством решилась заменой динамической библиотеки на статическую, но в данном случае этот номер не подходит.


A>>HELP!!!


_><telepath>

_>Попробуйте это делать не из DllMain.
_></telepath>

_>Из вашего описания это все что приходит в голову



Спасибо, помогло, более того, на закрытие библиотеки пришлось из DllMain тоже выкинуть функции.

Ещё раз спасибо
Re[2]: Не работает корректно DLL в которой подключается библиотека работы с устр
От: bnk СССР http://unmanagedvisio.com/
Дата: 30.03.13 12:06
Оценка: :)
Здравствуйте, saf_e, Вы писали:

_><telepath>

_>Попробуйте это делать не из DllMain.
_></telepath>

Скил телепатии прокачан
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.