Thank you! Igor.
I'll recheck all the source code.
"susan" <none> wrote in message
news:ADA5A236-E9B8-4DDA-962D-819B75B1A51F@microsoft.com
I don't know how to translate it to engilsh properly.Maybe "lack
VBArray"? The error message is the same as this:
var a=0; new VBArray(a);
I've just tested it - works for me:
// IDL
interface ITestObj : IDispatch{
[id(1)]
HRESULT GetArray([in] long size, [out, retval] SAFEARRAY(VARIANT)* ret);
};
// Implementation
STDMETHODIMP CTestObj::GetArray(long size, SAFEARRAY** ret) {
SAFEARRAYBOUND bound = {size, 0};
*ret = SafeArrayCreate(VT_VARIANT, 1, &bound);
return S_OK;
}
// Script
function test() {
var obj = new ActiveXObject("Test.TestObj");
var arr = new VBArray(obj.GetArray(0)).toArray();
alert(arr.length);
}
The script function runs without errors and the alert box shows 0.
Figure out what you are doing differently.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925