Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Fortran Dll [D5, Win95/98]


MBo ©   (2002-01-26 09:14:00) 

Имеется чужая Dll, и к ней *.lib - маленькая.
Есть описание вызова функций из Cи и фортрана
*.h и *.inc нет.
вызов функции из фортрана выглядит так-
i=iffgetsca("var",x)
первый пар. - строка до 128 символов,имя переменной, второй-double precision, принимает значение переменной.
из Cи
i=iff_getscalar("var",x);
в дампе dll-ки в списке экспорта есть
00002130 7 0003 IFFGETSCA
...
000227B0 21 0014 _iff_get_scalar@8

*.lib, насколько я понимаю, пользуется той же dll, в libе есть имя dll-ки.

описываю
function IFFGETSCA(p:pchar;var x:double):integer;stdcall;
external "ifeffit_10.dll";
при вызове в X мусор.

при замене stdcall на cdecl и пр. - недопустимая операция

если описываю iff_getscalar - не находит эту функцию

как вызвать _iff_get_scalar@8 ?

какие соглашения надо использовать, как передавать строку?


MBo   (2002-01-28 09:05:00) [1]

.


Наверх

Титульная страница Поиск, карта сайта Написать письмо