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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.09.2011, 09:58
axline axline вне форума
Прохожий
 
Регистрация: 22.09.2011
Сообщения: 5
Репутация: 10
По умолчанию Подключение 'С' библиотеки: вектор size_t

Здравствуйте, уважаемые форумчане!

Подключаю к проекту на Дельфи 2010 dll'ку, написанную на Си. Портировал большинство функций, но на одной застрял. Процедура должна возвращать указатель на массив значений double, который она вытаскивает из некоего файла. Файл представляет собой матрицу, значения которой задаются индексом start. Матрица может иметь различную размерность. Соответственно, start - это вектор значений cardinal (например, для первого значения матрицы (x, y, z) start={1,1,1}).

Есть Си код процедуры, который в исходниках объявляется как:
putNCvx_double_double(NC *ncp, const NC_var *varp,
const size_t *start, size_t nelems, const double *value)

В мануале к продукту для вызова функции предлагают использовать следующее:
int nc_get_var1_double (int ncid, int varid, const size_t index[], double *fp);

Собственно, вопрос: каким типом данных Дельфи можно описать const size_t index[]? Вызываю функцию так:

function nc_get_var1_double (ncid : integer; varid : integer; var indexp :
array of size_t; ip : array of double) : integer; cdecl; external 'netcdf.DLL';

Size_t объявлен как cardinal. При объявлении "var indexp :array of size_t" dll ругается. Если убрать массив (var indexp : size_t) - работает только при размерности матрицы = 1 столбцу.

Интуитивно понятно, что что-то элементарное, но не сообразить =)
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter