Как вернуть масив из COM-объекта на C# в скрипт?
От: Palytsh  
Дата: 02.06.05 11:17
Оценка:
В ко-классе COM-объекта пишу:
[return: MarshalAs(UnmanagedType.SafeArray)]
public int[] TestArray()
{
    int[] ret = new int[] {1,2,3};
    return ret;
}


Вызываю метод объекта из скрипта (JScript, который WSH):

var q  = new ActiveXObject("[чего-то там ;-)]");
var ar = q.TestArray();
WScript.Echo(ar[0]);


В результате получаю:

undefined


Как прописать маршалинг возвращаемого массива?
Как вернуть масив из COM-объекта на C# в скрипт?
От: Аноним  
Дата: 02.06.05 12:21
Оценка:
Я похожее делал для вэб камеры. ActiveX на выходе давал byte[] , пришлось конвертить его в string разднлённый ";" и потом парсить его в скрипте.



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Как вернуть масив из COM-объекта на C# в скрипт?
От: Palytsh  
Дата: 03.06.05 03:26
Оценка:
Здравствуйте, _OM_, Вы писали:

_OM>Я похожее делал для вэб камеры. ActiveX на выходе давал byte[] , пришлось конвертить его в string разднлённый ";" и потом парсить его в скрипте.


Ну, вобщем, заработало, когда int[] заменил на object[] с маршалингом по-умолчанию, а в с крипте добавил .toArray().
Не знаю, правда, насколько это правильно...
Re[2]: Как вернуть масив из COM-объекта на C# в скрипт?
От: Аноним  
Дата: 28.06.07 06:16
Оценка:
Здравствуйте, Palytsh, Вы писали:

P>Здравствуйте, _OM_, Вы писали:


_OM>>Я похожее делал для вэб камеры. ActiveX на выходе давал byte[] , пришлось конвертить его в string разднлённый ";" и потом парсить его в скрипте.


P>Ну, вобщем, заработало, когда int[] заменил на object[] с маршалингом по-умолчанию, а в с крипте добавил .toArray().

P>Не знаю, правда, насколько это правильно...

Я пробовал возвращать массив строк, не получилось, подскажите как вернуть массив строк?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.