Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.11.2016, 11:44
vectorj vectorj вне форума
Прохожий
 
Регистрация: 29.11.2016
Сообщения: 5
Версия Delphi: Rad Studio XE2
Репутация: 10
По умолчанию Передача массива в DLL

Добрый день, столкнулся с проблемой передачи массива в 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
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter