![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ilyalyu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Всплыла такая проблема.
Я использую в программе DLL-ку. Когда запущена одна копия программы, то все работает нормально. Зато когда запущено две копии, то начинается какой-то глюк. Причем, если я создаю две копии формы TMyFormForWorkingWithDLL, работающей с DLL-кой, но внутри одной программы, то опять все нормально. Но если те же самые две формы созданы каждая в своей копии программы, то все плохо. На что тут можно обратить внимание? |
|||
|
||||
| Sansa |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 18.10.2006 Где: Королев Репутация: 3 Всего: 6 |
Application в dll меняешь?
--------------------
- Здравствуйте, я Ваш патологоанатом |
|||
|
||||
| ilyalyu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
врядли. DLL (для кодирования аудио) вообще на C написана. врядли она меняет Application.
|
|||
|
||||
| Sansa |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 18.10.2006 Где: Королев Репутация: 3 Всего: 6 |
У тебя же форма в dll. Как она не использует Application?
--------------------
- Здравствуйте, я Ваш патологоанатом |
|||
|
||||
| ilyalyu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
форма в программе, а не в dll, и нужна она только для интерфейса. для каждой формы (которая находится в программе, а не в dll) создается поток (thread), который использует функции из dll (поток также создается внутри программы, а не внутри dll). так вот, если поток один, то все работает нормально. если потока два, но оба они созданы внутри одной программы, то тоже все нормально. а если те же два потока созданы в разных программах, то появляются глюки. таким образом, важно, что к dll обращаются именно две разные программы. так как если к ней обращаются два разных потока, находящихся внутри одной программы, то ничего плохого не происходит.
|
|||
|
||||
| Sansa |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 18.10.2006 Где: Королев Репутация: 3 Всего: 6 |
Видьма dll не оптимизирована под многопоточную работу :(
--------------------
- Здравствуйте, я Ваш патологоанатом |
|||
|
||||
| ilyalyu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
я же говорю, с двумя потоками, находящимися внутри одной программы, dll работает нормально. значит дело не в потоках, а в наличии двух программ.
|
|||
|
||||
| Sansa |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 18.10.2006 Где: Королев Репутация: 3 Всего: 6 |
Скорее всего дело в Dll
--------------------
- Здравствуйте, я Ваш патологоанатом |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
IMHO, на глобальные переменные. |
|||
|
||||
![]()
|
| Правила форума "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. |