Добрый день, столкнулся с проблемой передачи массива в DLL (сама DLL написана на С). Суть в том, что в одном из параметров процедуры должен получится массив с данными.
Описание процедуры в интерфейсной части:
function nc_get_vara_double (ncID: integer;varID: integer;start: pointer;count: pointer;var arr: pointer):integer; cdecl; external 'netcdf.DLL';
arr - это и есть желаемый массив.
в самой программе вызывается так:
var ptr: pointer;
start,count: Array of int64;
hgtId: integer;
....
err:=nc_get_vara_double(ncID,hgtID,start,count,ptr );
если я хочу получить 1 число, то проблем нет, все работает. А вот если я хочу получить вектор или матрицу то получаю следующее:
Описание самой процедуры:
http://www.unidata.ucar.edu/software/netcdf/docs/group__variables.html#ga3b772c0982850cb0af3a8d1c53 c81d46