Главная страница
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.031 c
3-1123830568
mrGrey2
2005-08-12 11:09
2005.09.25
Подключенные пользователи


2-1124270885
Коля
2005-08-17 13:28
2005.09.25
Delphi


2-1124201085
Андрей Молчанов
2005-08-16 18:04
2005.09.25
Борьба с минимизацией


14-1123926778
Piter
2005-08-13 13:52
2005.09.25
Таненбаум, книги


1-1125307874
Виталька2005
2005-08-29 13:31
2005.09.25
Прога не запускается с диска