![]() |
|
|
![]()
|
|
| stas87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
здравствуйте!
помогите решить проблему. есть dll-ка, скомпилированная на продукте фирмы Майкрософт(VC++ or .NET) в dll встрены классы. при обращении из среды разработки от Майкрософта - все работает нормально, все функции срабатывают. при попытке вызвать те же самые методы из Borland C++ Builder 6.0 вылазит Access Violation, хотя адреса функций в dll-ке получает верные. Ошибка выпадает где то внутри самой библиотеки. уже неделю мучаюсь, помогите пожалуйста. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
ИМХО. Импортировать из DLL классы занятие нудное, противное и неблагодарное.
|
|||
|
||||
| stas87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
dll написана сторонней фирмой, исходников естесственно нет((, а борланд выбран из за того, что только на него есть лицензия
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
dll от VS с Borland'ом могут быть не совместимы, даже безо всяких классов (были преценденты). Проблема в разных CRT у основного приложения и DLL. В результате грузятся обе CRT (от MS и Borland'а), после чего они начинают драться из за общих ресурсов (типа stdin, stdout, и пр потроха libc), что обычно заканчивается крахом
|
|||
|
||||
| stas87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
ладно, спасибо.
скачал бесплатный компилятор от майкрософта - попробую на нем делать |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Если в параметрах передаются структуры то может быть дело в банальном выравнивании.
|
|||
|
||||
| stas87 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
на бесплатном компиляторе тоже не работает((
может какие особые настройки проетка надо указать? вот заголовочный файл:
тут вызывающий код:
в полных майкрософтовских студиях pRoot = hm->getUnit("DEMO-DMI6000B"); возвращает значение, на борланде и VC++ 2008 Express Edition возвращает NULL |
||||
|
|||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Тогда только дебагер
|
|||
|
||||
| stas87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
дебагер - дело довольно геморойное.. тем более когда отсутствуют исходники длл..((
|
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
| stas87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
метод должен возвращать ссылку на класс, при успешном его выполнеии
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |