Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Типы в C# и Delphi   Найти похожие ветки 

 
zhlob   (2005-09-01 13:45) [0]

Вопрос следующий:
 есть dll-ка, написанная на C#, в ней функция, одним из параметров которой являестся Dest *dest(указатель на структуру Dest). А по сути это ссылка на массив (т.е. в C# обращаются к нему так: dest[i].d=..).
 написан проект на Delhpi, которому надо получать этот список значений. Описана эта структура (Dest), параметр пытался передавать по-разному:
 1. var dest: dest;
 2. PDest = ^Dest;
    dest: PDest;
 3. TDest: array[0..15] of Dest;
    PDest = ^TDest;
    dest: PDest; и т.д.
но всегда получаю не список, а только первый элемент.
Подскажите, плиз, как описать?? Что делать?? Уже голова кипит!!!


 
begin...end ©   (2005-09-01 13:53) [1]

{$R-}

type
 TDestArray = array [0..0] of Dest;
 PDestArray = ^TDestArray;

доступ к i-му элементу массива: PDestArray(параметр_функции)[i]


 
begin...end ©   (2005-09-01 14:04) [2]

> zhlob   (01.09.05 13:45)

Я, видимо, не полностью понялл вопрос, и [1], вероятно, не в кассу.

> написан проект на Delhpi, которому надо получать этот список
> значений.

Если есть сишная функция в DLL, и она должна заполнять этот список, то следует объявить переменную-массив с нужным количеством элементов и передать указатель на неё в функцию:

type
 TDestArray = array [0..X] of Dest;

var
 DestArray: TDestArray;

begin
 Func(..., @DestArray, ...)
end.


 
Игорь Шевченко ©   (2005-09-01 14:46) [3]


> есть dll-ка, написанная на C#


Под .Net, надо полагать ?



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1125333693
Ivanov
2005-08-29 20:41
2005.09.25
.rar с паролем


14-1125142887
TStas
2005-08-27 15:41
2005.09.25
Криво ли это?


9-1117216279
rll-progr
2005-05-27 21:51
2005.09.25
Создание игры


1-1125471494
Ксардас
2005-08-31 10:58
2005.09.25
Символ & перед именем файла


3-1123651386
serjufa
2005-08-10 09:23
2005.09.25
вылезает ошибка при выполнении SELECT