hooky-mars
Зарегистрирован: 03.01.2006 Сообщения: 39
|
Добавлено: Чт Апр 24 2008 15:15 Заголовок сообщения: Пердача массива из c# в COM |
|
|
Saluer!
Мне нужно передать в ком объект массив структур. Для взаимодействия с комом использую прокси сборку. Ком объект чужой, я его править не могу.
Делаю так:
Код: |
IStruct[] ists = new IStruct[10]
for(...)
{
.....
ists[ind] = new IStruct();
....
ind++;
}
comObj.GetArray(ind, ref ists); //тут ошибка
|
Ошибка приведения типов. Т.к. в сборке функиция описанна так:
Код: |
GetArray(int ind, ref pIStruct)
|
если делаю так:
Код: |
comObj.GetArray(ind, ref ists[0])
|
То ком объект возвращает ошибку памяти...
Что делать? Как передать массив в ком объект?
З.Ы. Пытался передать через неуправляемую память, но встает поблема приобразования IntPtr в IStruct:
Код: |
IntPtr iistr = Marshal.Allo....
.....
comObj.GetArray(ind, iistr)
|
Таже ошибка приведения типов |
|