Загрузка и передача массивов JScript из / в C # (не C) COM-компонент

Я посмотрел учебники по массивам jscript, но пока не видел. Я видел что-то похожее, но с кодом Win32, а не .NET.

Интересно, как передать массивы назад и вперед между JScript и компонентом C # COM?

Например, у меня есть два свойства, определенные в моем C # COM, который возвращает строковые и целочисленные массивы как:

string[] HeaderLines { get; set; }
int[] ImagePixels { get; set; }

В моем файле test.js:

...

var T = new ActiveXObject("Imager.Reader"); 
...    
var headerLines = T.HeaderLines;
WScript.StdOut.WriteLine("First HeaderLine:" + headerLines[0]);
var pixels = T.ImagePixels;
WScript.StdOut.WriteLine("First Pixel: " + pixels[0]);

Ошибка - это то, где headerLines [0] записывается: C: \ temp \ test.js (12, 1) Ошибка времени выполнения Microsoft JScript: 'headerLines.0' является нулевым или не является объектом

Если я удаляю headerLines в test.js, то получаю эту ошибку (по существу, такую же, но для целочисленного массива): C: \ temp \ test.js (12, 1) Ошибка времени выполнения Microsoft JScript: ноль или нет объекта

Я могу получить результаты из свойств, не являющихся массивами, просто отлично, а также передавать значения другим методам, но не с массивами. Мне также нужно передать строковые и целочисленные массивы в метод, определенный в моем компоненте C # COM как:

bool Write(string filename, string[] headerLines, int[] pix, int width, int height);

Я использую Visual Studio Express 2012 для рабочего стола для создания части COM в C #. Если нужна какая-либо другая информация, просто дайте мне знать.

Ответы на вопрос(1)

Ваш ответ на вопрос