В ко-классе 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
Как прописать маршалинг возвращаемого массива?
Я похожее делал для вэб камеры. ActiveX на выходе давал byte[] , пришлось конвертить его в string разднлённый ";" и потом парсить его в скрипте.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение