А>хочу из Java Script в свой COM передавать данные через SAFEARRAY.

А>данные буду передавать следующие:

А>числа (пример: 1, 34, 765)
А>строки (пример: "asd", "a", "dj35")

если проблема в том что неизвестно заранее число параметров и их тип, то так:

[id(1), helpstring("Метод с переменным числом аргументов"), vararg] 
HRESULT MethodName([in] SAFEARRAY(VARIANT) *params );

STDMETHODIMP CCoClass::MethodName(/*[in]*/ SAFEARRAY* *params )
{
 ....
}

в скрипте это будет:

obj.MethodName( 1, 34, 765 );
obj.MethodName( "asd", "a", "dj35" );
obj.MethodName( 1, "asd", 765, "a", "b" );
Автор: Odi$$ey    Оценить