Единственный известный мне способ выполнить то, что вы хотите, - это вернуть массив javascript;Есть два способа получить такой массив.Первый (и, на мой взгляд, идеальный) способ - получить окно NPObject, вызвав NPN_GetValue, а затем вызвать «массив», а второй - использовать NPN_Evaluate.
Как только вы получите массив (это будетNPObject) вы можете вызывать push для него с элементами, которые вы хотите добавить.
Это то, что FireBreath делает, когда вы возвращаете FB :: VariantList (вектор объектов FB :: variable);он просто создает массив, заполняет их все, а затем возвращает этот NPObject.Таким образом, это проверенное и надежное решение.Вы также можете вызвать window.object () и затем SetProperty для возврата объекта javascript;область массивов также является объектами, так что вы даже можете создать гибрид, который будет одновременно массивом (индексированным) и объектом (ключ-> val).