Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
2-1124027784
Андрей Молчанов
2005-08-14 17:56
2005.09.25
FreeAndNil(Form1) и Form1.Free


6-1117604167
CSTR
2005-06-01 09:36
2005.09.25
Проблема с сокетами


4-1122901949
Shopot
2005-08-01 17:12
2005.09.25
Как отловить сообщение в дочернем потоке?


14-1125475345
ПЛОВ
2005-08-31 12:02
2005.09.25
Поможите, что значит " /= " в Си


3-1123824916
Max4
2005-08-12 09:35
2005.09.25
"Слияние" полей, различных типов данных




   Наверх