![]() |
|
Модераторы: Akina |
![]()
|
|
| Tuman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Есть dll на фортране: *************************************** subroutine xincube (x,y) ! Expose subroutine xincube to users of this DLL ! !DEC$ ATTRIBUTES DLLEXPORT::xincube ! Variables ! Body of xincube y=x*x*x return end subroutine xincube ************************************** И ее вызов на VB: Declare Sub xincube Lib "xincube" (ByVal x As Integer, ByVal y As Integer)..... . . . call xincube(2,tmp)... на последней сторке выдает, что не может найти точку входа... ЧТО Я ДЕЛАЮ НЕ ТАК |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
А как у тебя tmp описана?
Добавлено @ 16:09 И ещё... Если в фортране не указывать тип переменных, то какой тип будет использоваться? Integer? Long? Single? Double?... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Посмотри, что именно у тебя импортируется в готовой DLL...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Tuman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Для простоты возьмем везде int
На сколько мне удалось выяснить в VB и фортране они совпадают. Добавлено @ 16:41 Здесь выложен поный код dll Что к нему дописывает компилятор я не знаю. В VB такое проходило на ура. |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Скорее всего это не СОМ библиотека. -------------------- Я желаю всем Счастья! |
|||
|
||||
| Tuman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Логично. Точку входа нашел. Дело было в изменении имени вызываемой функции. Теперь проблема другая: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Переменная уходит в процедуру. А когда приходит время возвращаться то выдает эту ошибку. |
|||
|
||||
| Tuman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Спасибо всем. Все заработало.
Для тех кому интересно. Приведу окончательные и рабочие "релизы". FORTRAN: ********************************************** ! xincube.f90 ! ! FUNCTIONS/SUBROUTINES exported from xincube.dll: ! xincube - subroutine ! subroutine xincube (x,y) !DEC$ ATTRIBUTES DLLEXPORT::xincube !DEC$ ATTRIBUTES ALIAS:'xincube' :: xincube !ВОТ ГДЕ СОБАКА ПОРЫЛАСЬ! integer(2),INTENT(in):: x integer(2),INTENT(out) ::y ! Expose subroutine xincube to users of this DLL ! ! Variables ! Body of xincube y=x*x*x end subroutine xincube ******************************************** VISUAL BASIC:
Оказалось что не совсем совпадают... |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |