akaGM
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ESV1987 хорошо... п/п на фортране _не знает_ что ты туда ей шлёшь: число, массив, адрес, твоё дело за этим следить и управлять хочешь-не хочешь, вот правило: если ты передаёшь динамический массив, созданный где-то ещё (не фортрановским менеджером памяти), то изволь передавать и его размер и только если ты делал real, allocatable :: x(:) и allocate(x(100)) в самом фортране, то ты вправе использовать size(x) а насчёт индексации, это всё фигня к дельфийскому массиву array of double в фортране ты можешь обращаться хоть как х(100), х(100+n), главное чтоб за диапазон не вылететь... Цитата: И ещё интересно, почему когда в Delphi объявляешь процедуру, как: procedure MeanVal2(var a:TData; n:integer; var s:double); - всё работает, а если добавить var: procedure MeanVal2(var a:TData; var n:integer; var s:double); - выдаёт ошибку. | ты понимаешь разницу в передаче параметров в Дельфях как переменные и как значения? в фортране тот же случай var == by REFERENCE без var == by VALUE и ты обязан это писать ручками... во избежание, так сказать... я тебе уже не раз говорил, чтоб ты прочитал секцию stdcall в фортрановском мануале, это сняло бы множество твоих вопросов... | Всего записей: 24201 | Зарегистр. 06-12-2002 | Отправлено: 12:33 18-02-2011 | Исправлено: akaGM, 12:36 18-02-2011 |
|