1*b1cdbd2cSJim Jagielski<!--*********************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski ***********************************************************--> 21*b1cdbd2cSJim Jagielski<HTML> 22*b1cdbd2cSJim Jagielski<HEAD> 23*b1cdbd2cSJim Jagielski<META NAME="GENERATOR" Content="Microsoft Developer Studio"> 24*b1cdbd2cSJim Jagielski<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1"> 25*b1cdbd2cSJim Jagielski<TITLE>Document Title</TITLE> 26*b1cdbd2cSJim Jagielski</HEAD> 27*b1cdbd2cSJim Jagielski<BODY id=theBody> 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski<script language="JScript"> 30*b1cdbd2cSJim Jagielski// XEventListener implementation in JScript -------------------------------------------------- 31*b1cdbd2cSJim Jagielskifunction XEventListener_Impl() 32*b1cdbd2cSJim Jagielski{ 33*b1cdbd2cSJim Jagielski this._environment= "JScript"; 34*b1cdbd2cSJim Jagielski this._implementedInterfaces= new Array( "com.sun.star.lang.XEventListener"); 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski //XEventListener 37*b1cdbd2cSJim Jagielski this.disposing= XEventListener_disposing; 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski this.bdisposingCalled= false; 40*b1cdbd2cSJim Jagielski this.bQuiet= true; 41*b1cdbd2cSJim Jagielski this.resetDisposing= XEventListener_resetDisposing; 42*b1cdbd2cSJim Jagielski this.disposingCalled= XEventListener_disposingCalled; 43*b1cdbd2cSJim Jagielski} 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielskifunction XEventListener_disposing( source) 46*b1cdbd2cSJim Jagielski{ 47*b1cdbd2cSJim Jagielski if( !this.bQuiet) 48*b1cdbd2cSJim Jagielski alert("JScript Event Listener \n disposing is being called"); 49*b1cdbd2cSJim Jagielski this.bdisposingCalled= true; 50*b1cdbd2cSJim Jagielski} 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielskifunction XEventListener_resetDisposing() 53*b1cdbd2cSJim Jagielski{ 54*b1cdbd2cSJim Jagielski this.bdisposingCalled= false; 55*b1cdbd2cSJim Jagielski} 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielskifunction XEventListener_disposingCalled() 58*b1cdbd2cSJim Jagielski{ 59*b1cdbd2cSJim Jagielski return this.bdisposingCalled; 60*b1cdbd2cSJim Jagielski} 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski//-------------------------------------------------------------------------------------------- 63*b1cdbd2cSJim Jagielskifunction callOleTest( id) 64*b1cdbd2cSJim Jagielski{ 65*b1cdbd2cSJim Jagielski var factory= new ActiveXObject("com.sun.star.ServiceManager"); 66*b1cdbd2cSJim Jagielski var oletest= factory.createInstance("oletest.OleTest"); 67*b1cdbd2cSJim Jagielski// alert(oletest); 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielski var arr= new Array( 1, 2, 3, 4, 0); 70*b1cdbd2cSJim Jagielski var arrDouble= new Array( 1.2345, 12.345, 123,45, 1234.5, 12345); 71*b1cdbd2cSJim Jagielski var arrBool= new Array( 1, 0, 2, 0, 3); 72*b1cdbd2cSJim Jagielski var arrChar= new Array( '1', 'A', "1", "A", ' ', 55, 56); 73*b1cdbd2cSJim Jagielski var arrString= new Array("hamburger","cheeseburger", "chicken nuggets", "chicken wings" , "pizza"); 74*b1cdbd2cSJim Jagielski var arrAny= new Array( 100, 100.1235,"hallo"); 75*b1cdbd2cSJim Jagielski var arrSeq= new Array( arr, arr, arr); 76*b1cdbd2cSJim Jagielski var arrSeq2= new Array( arrSeq, arrSeq, arrSeq) 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski var arrout1= new Array(); 80*b1cdbd2cSJim Jagielski var arrout2= new Array(); 81*b1cdbd2cSJim Jagielski var arrout3= new Array(); 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski var ret, i; 84*b1cdbd2cSJim Jagielski var sfarray, sfarray1, sfarray2, sfarray3; 85*b1cdbd2cSJim Jagielski var arEventListener= new Array( new XEventListener_Impl(), new XEventListener_Impl(), 86*b1cdbd2cSJim Jagielski new XEventListener_Impl()); 87*b1cdbd2cSJim Jagielski var arEventListener2= new Array( new XEventListener_Impl(), new XEventListener_Impl(), 88*b1cdbd2cSJim Jagielski new XEventListener_Impl()); 89*b1cdbd2cSJim Jagielski var arArEventListener= new Array( arEventListener, arEventListener2); 90*b1cdbd2cSJim Jagielski switch( id) 91*b1cdbd2cSJim Jagielski { 92*b1cdbd2cSJim Jagielski // Array in-params 93*b1cdbd2cSJim Jagielski case 1: ret= oletest.methodByte( arr); 94*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 95*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arr.toString() + "<br>"); 96*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< BYTE > <br>" + sfarray.toArray()) ; break; 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski case 2: ret= oletest.methodDouble( arrDouble); 99*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 100*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrDouble.toString() +"<br>"); 101*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< double > <br>" + sfarray.toArray()) ; break; 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski case 3: ret= oletest.methodBool( arrBool); 104*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 105*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrBool.toString() +"<br>"); 106*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< BOOL > <br>" + sfarray.toArray()) ; break; 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski case 4: ret= oletest.methodShort( arr); 109*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 110*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arr.toString() +"<br>"); 111*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< SHORT > <br>" + sfarray.toArray()) ; break; 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski case 5: ret= oletest.methodUShort( arr); 114*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 115*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arr.toString() +"<br>"); 116*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< unsigned SHORT > <br>" + sfarray.toArray()) ; break; 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski case 6: ret= oletest.methodLong( arr); 119*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 120*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arr.toString() +"<br>"); 121*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< LONG > <br>" + sfarray.toArray()) ; break; 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim Jagielski case 7: ret= oletest.methodULong( arr); 124*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 125*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arr.toString() +"<br>"); 126*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< unsigned LONG > <br>" + sfarray.toArray()) ; break; 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski case 8: ret= oletest.methodChar( arrChar); 129*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 130*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrChar.toString() +"<br>"); 131*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< wchar_t > <br>" + sfarray.toArray()) ; break; 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski case 9: ret= oletest.methodString( arrString); 134*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 135*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrString.toString() +"<br>"); 136*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< UString > <br>" + sfarray.toArray()) ; break; 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski case 10: ret= oletest.methodAny( arrAny); 139*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 140*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrAny.toString() +"<br>"); 141*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< UsrAny > <br>" + sfarray.toArray() ) ; break; 142*b1cdbd2cSJim Jagielski 143*b1cdbd2cSJim Jagielski case 11: ret= oletest.methodSequence( arrSeq); 144*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 145*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrSeq.toString() +"<br>"); 146*b1cdbd2cSJim Jagielski document.writeln("Returns a Sequence< Sequence < long >> <br>") ; 147*b1cdbd2cSJim Jagielski var arr1= new Array(); 148*b1cdbd2cSJim Jagielski arr1= sfarray.toArray(); 149*b1cdbd2cSJim Jagielski for( i=0; i < arr1.length; i++) 150*b1cdbd2cSJim Jagielski { 151*b1cdbd2cSJim Jagielski sfarray2= new VBArray( arr1[i]); 152*b1cdbd2cSJim Jagielski var arr2= new Array(); 153*b1cdbd2cSJim Jagielski arr2= sfarray2.toArray(); 154*b1cdbd2cSJim Jagielski document.writeln( arr2.toString() + "<br>" ); 155*b1cdbd2cSJim Jagielski } 156*b1cdbd2cSJim Jagielski break; 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski case 12: ret= oletest.methodSequence2( arrSeq2); 159*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrSeq2.toString() +"<br>"); 160*b1cdbd2cSJim Jagielski sfarray1= new VBArray( ret); 161*b1cdbd2cSJim Jagielski arr1= sfarray1.toArray(); 162*b1cdbd2cSJim Jagielski for( i=0; i < arr1.length; i++) 163*b1cdbd2cSJim Jagielski { 164*b1cdbd2cSJim Jagielski sfarray2= new VBArray( arr1[i]); 165*b1cdbd2cSJim Jagielski arr2= sfarray2.toArray(); 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski for ( j=0; j < arr2.length; j++) 168*b1cdbd2cSJim Jagielski { 169*b1cdbd2cSJim Jagielski sfarray3= new VBArray( arr2[j]); 170*b1cdbd2cSJim Jagielski arr3= sfarray3.toArray(); 171*b1cdbd2cSJim Jagielski document.write( i+ " "); 172*b1cdbd2cSJim Jagielski document.writeln(j + ": "+ arr3.toString() + "<br>" ); 173*b1cdbd2cSJim Jagielski } 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski } 176*b1cdbd2cSJim Jagielski break; 177*b1cdbd2cSJim Jagielski 178*b1cdbd2cSJim Jagielski case 13: 179*b1cdbd2cSJim Jagielski var ar= new Array(); 180*b1cdbd2cSJim Jagielski for( i=0; i< 3; i++) 181*b1cdbd2cSJim Jagielski { 182*b1cdbd2cSJim Jagielski var ob= new Object(); 183*b1cdbd2cSJim Jagielski ob.value= "A JScript object!"; 184*b1cdbd2cSJim Jagielski ar[i]= ob; 185*b1cdbd2cSJim Jagielski } 186*b1cdbd2cSJim Jagielski 187*b1cdbd2cSJim Jagielski ret = oletest.methodXInterface( ar); 188*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 189*b1cdbd2cSJim Jagielski var arRet= sfarray.toArray(); 190*b1cdbd2cSJim Jagielski 191*b1cdbd2cSJim Jagielski document.writeln( "Params : Array containing objects ") 192*b1cdbd2cSJim Jagielski for( index in ar) 193*b1cdbd2cSJim Jagielski { 194*b1cdbd2cSJim Jagielski document.writeln( "object " + index + ": " + ar[index].value +" "); 195*b1cdbd2cSJim Jagielski } 196*b1cdbd2cSJim Jagielski document.writeln( "<br>" ) ; 197*b1cdbd2cSJim Jagielski document.writeln("Return: <br>"); 198*b1cdbd2cSJim Jagielski for( index in arRet) 199*b1cdbd2cSJim Jagielski { 200*b1cdbd2cSJim Jagielski document.writeln( "object " + index + ": " + arRet[index].value + " "); 201*b1cdbd2cSJim Jagielski } 202*b1cdbd2cSJim Jagielski break; 203*b1cdbd2cSJim Jagielski 204*b1cdbd2cSJim Jagielski case 14: ret= oletest.methodFloat( arrDouble); 205*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 206*b1cdbd2cSJim Jagielski document.writeln( "Param: " + arrDouble.toString() +"<br>"); 207*b1cdbd2cSJim Jagielski document.writeln( "Returns a Sequence< float> <br>" + sfarray.toArray()) ; break; 208*b1cdbd2cSJim Jagielski 209*b1cdbd2cSJim Jagielski case 15: 210*b1cdbd2cSJim Jagielski ret= oletest.methodXEventListeners( arEventListener); 211*b1cdbd2cSJim Jagielski sfarray= new VBArray(ret); 212*b1cdbd2cSJim Jagielski _ret= sfarray.toArray(); 213*b1cdbd2cSJim Jagielski for ( key in _ret) 214*b1cdbd2cSJim Jagielski { 215*b1cdbd2cSJim Jagielski if( ! _ret[key].disposingCalled()) 216*b1cdbd2cSJim Jagielski alert("Error! oletest.methodXEventListeners") 217*b1cdbd2cSJim Jagielski } 218*b1cdbd2cSJim Jagielski break; 219*b1cdbd2cSJim Jagielski case 16: 220*b1cdbd2cSJim Jagielski ret= oletest.methodXEventListenersMul( arArEventListener); 221*b1cdbd2cSJim Jagielski sfarray= new VBArray(ret); 222*b1cdbd2cSJim Jagielski _ret= sfarray.toArray(); 223*b1cdbd2cSJim Jagielski for( key in _ret) 224*b1cdbd2cSJim Jagielski { 225*b1cdbd2cSJim Jagielski sfarray2= new VBArray(_ret[key]); 226*b1cdbd2cSJim Jagielski _ret2= sfarray2.toArray(); 227*b1cdbd2cSJim Jagielski for( key2 in _ret2) 228*b1cdbd2cSJim Jagielski { 229*b1cdbd2cSJim Jagielski if( ! _ret2[key2].disposingCalled()) 230*b1cdbd2cSJim Jagielski alert("Error! oletest.methodXEventListeners") 231*b1cdbd2cSJim Jagielski } 232*b1cdbd2cSJim Jagielski } 233*b1cdbd2cSJim Jagielski break; 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski 236*b1cdbd2cSJim Jagielski 237*b1cdbd2cSJim Jagielski // Properties: setting and getting values 238*b1cdbd2cSJim Jagielski case 200: oletest.AttrByte = arr; 239*b1cdbd2cSJim Jagielski ret= oletest.AttrByte; 240*b1cdbd2cSJim Jagielski document.writeln("Setting AttrByte: " + arr.toString() + "<p>"); 241*b1cdbd2cSJim Jagielski document.writeln("Getting AttrByte: " + arr.toString()); break; 242*b1cdbd2cSJim Jagielski 243*b1cdbd2cSJim Jagielski case 201: oletest.AttrDouble= arrDouble; 244*b1cdbd2cSJim Jagielski ret= oletest.AttrDouble; 245*b1cdbd2cSJim Jagielski document.writeln("Setting AttrDouble: " + arrDouble.toString() + "<p>"); 246*b1cdbd2cSJim Jagielski document.writeln("Getting AttrDouble: " + arrDouble.toString()); break; 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski case 202: oletest.AttrBool= arrBool; 249*b1cdbd2cSJim Jagielski ret= oletest.AttrBool; 250*b1cdbd2cSJim Jagielski document.writeln("Setting AttrBool: " + arrBool.toString() + "<p>"); 251*b1cdbd2cSJim Jagielski document.writeln("Getting AttrBool: " + arrBool.toString()); break; 252*b1cdbd2cSJim Jagielski 253*b1cdbd2cSJim Jagielski case 203: oletest.AttrShort= arr; 254*b1cdbd2cSJim Jagielski ret= oletest.AttrShort; 255*b1cdbd2cSJim Jagielski document.writeln("Setting AttrShort: " + arr.toString() + "<p>"); 256*b1cdbd2cSJim Jagielski document.writeln("Getting AttrShort: " + arr.toString()); break; 257*b1cdbd2cSJim Jagielski 258*b1cdbd2cSJim Jagielski case 204: oletest.AttrUShort= arr; 259*b1cdbd2cSJim Jagielski ret= oletest.AttrUShort; 260*b1cdbd2cSJim Jagielski document.writeln("Setting AttrUShort: " + arr.toString() + "<p>"); 261*b1cdbd2cSJim Jagielski document.writeln("Getting AttrUShort: " + arr.toString()); break; 262*b1cdbd2cSJim Jagielski 263*b1cdbd2cSJim Jagielski case 205: oletest.AttrLong= arr; 264*b1cdbd2cSJim Jagielski ret= oletest.AttrLong; 265*b1cdbd2cSJim Jagielski document.writeln("Setting AttrLong: " + arr.toString() + "<p>"); 266*b1cdbd2cSJim Jagielski document.writeln("Getting AttrLong: " + arr.toString()); break; 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski case 206: oletest.AttrULong= arr; 269*b1cdbd2cSJim Jagielski ret= oletest.AttrULong; 270*b1cdbd2cSJim Jagielski document.writeln("Setting AttrULong: " + arr.toString() + "<p>"); 271*b1cdbd2cSJim Jagielski document.writeln("Getting AttrULong: " + arr.toString()); break; 272*b1cdbd2cSJim Jagielski 273*b1cdbd2cSJim Jagielski case 207: oletest.AttrChar= arrChar; 274*b1cdbd2cSJim Jagielski ret= oletest.AttrChar; 275*b1cdbd2cSJim Jagielski document.writeln("Setting AttrChar: " + arrChar.toString() + "<p>"); 276*b1cdbd2cSJim Jagielski document.writeln("Getting AttrChar: " + arrChar.toString()); break; 277*b1cdbd2cSJim Jagielski 278*b1cdbd2cSJim Jagielski case 208: oletest.AttrString= arrString; 279*b1cdbd2cSJim Jagielski ret= oletest.AttrString; 280*b1cdbd2cSJim Jagielski document.writeln("Setting AttrString: " + arrString.toString() + "<p>"); 281*b1cdbd2cSJim Jagielski document.writeln("Getting AttrString: " + arrString.toString()); break; 282*b1cdbd2cSJim Jagielski 283*b1cdbd2cSJim Jagielski case 209: oletest.AttrAny= arrAny; 284*b1cdbd2cSJim Jagielski ret= oletest.AttrAny; 285*b1cdbd2cSJim Jagielski document.writeln("Setting AttrAny: " + arrAny.toString() + "<p>"); 286*b1cdbd2cSJim Jagielski document.writeln("Getting AttrAny: " + arrAny.toString()); break; 287*b1cdbd2cSJim Jagielski 288*b1cdbd2cSJim Jagielski case 210: oletest.AttrSequence= arrSeq; 289*b1cdbd2cSJim Jagielski ret= oletest.AttrSequence; 290*b1cdbd2cSJim Jagielski document.writeln("Setting AttrSequence: " + arrSeq.toString() + "<p>"); 291*b1cdbd2cSJim Jagielski document.writeln("Getting AttrSequence: " + arrSeq.toString()); break; 292*b1cdbd2cSJim Jagielski 293*b1cdbd2cSJim Jagielski case 211: oletest.AttrSequence2= arrSeq2; 294*b1cdbd2cSJim Jagielski ret= oletest.AttrSequence2; 295*b1cdbd2cSJim Jagielski document.writeln("Setting AttrSequence2: " + arrSeq2.toString() + "<p>"); 296*b1cdbd2cSJim Jagielski document.writeln("Getting AttrSequence2: " + arrSeq2.toString()); break; 297*b1cdbd2cSJim Jagielski 298*b1cdbd2cSJim Jagielski case 212: oletest.AttrFloat= arrDouble; 299*b1cdbd2cSJim Jagielski ret= oletest.AttrFloat; 300*b1cdbd2cSJim Jagielski document.writeln("Setting AttrFloat: " + arrDouble.toString() + "<p>"); 301*b1cdbd2cSJim Jagielski document.writeln("Getting AttrFloat: " + arrDouble.toString()); break; 302*b1cdbd2cSJim Jagielski 303*b1cdbd2cSJim Jagielski 304*b1cdbd2cSJim Jagielski 305*b1cdbd2cSJim Jagielski // Out-parameter ------------------------------------------------------------ 306*b1cdbd2cSJim Jagielski case (2000): 307*b1cdbd2cSJim Jagielski oletest.testout_methodByte( arrout1 ); 308*b1cdbd2cSJim Jagielski alert("byte: " + arrout1[0] ); break; 309*b1cdbd2cSJim Jagielski case (2001): 310*b1cdbd2cSJim Jagielski oletest.testout_methodDouble( arrout1 ); 311*b1cdbd2cSJim Jagielski alert( "double: " + arrout1[0] ); break; 312*b1cdbd2cSJim Jagielski case (2002): 313*b1cdbd2cSJim Jagielski oletest.testout_methodBool( arrout1 ); 314*b1cdbd2cSJim Jagielski alert( "boolean: " + arrout1[0] ); break; 315*b1cdbd2cSJim Jagielski case (2003): 316*b1cdbd2cSJim Jagielski oletest.testout_methodShort( arrout1 ); 317*b1cdbd2cSJim Jagielski alert( "short: " + arrout1[0] ); break; 318*b1cdbd2cSJim Jagielski case (2004): 319*b1cdbd2cSJim Jagielski oletest.testout_methodUShort( arrout1 ); 320*b1cdbd2cSJim Jagielski alert( "unsigned short: " + arrout1[0] ); break; 321*b1cdbd2cSJim Jagielski case (2005): 322*b1cdbd2cSJim Jagielski oletest.testout_methodLong( arrout1 ); 323*b1cdbd2cSJim Jagielski alert( "long: " + arrout1[0] ); break; 324*b1cdbd2cSJim Jagielski case (2006): 325*b1cdbd2cSJim Jagielski oletest.testout_methodULong( arrout1 ); 326*b1cdbd2cSJim Jagielski alert( "unsigned long: " + arrout1[0] ); break; 327*b1cdbd2cSJim Jagielski case (2007): 328*b1cdbd2cSJim Jagielski oletest.testout_methodChar( arrout1 ); 329*b1cdbd2cSJim Jagielski alert( "char: " + arrout1[0] ); break; 330*b1cdbd2cSJim Jagielski case (2008): 331*b1cdbd2cSJim Jagielski oletest.testout_methodString( arrout1 ); 332*b1cdbd2cSJim Jagielski alert( "string: " + arrout1[0] ); break; 333*b1cdbd2cSJim Jagielski case (2009): 334*b1cdbd2cSJim Jagielski oletest.testout_methodAny( arrout1 ); 335*b1cdbd2cSJim Jagielski alert( "any: " + arrout1[0] ); break; 336*b1cdbd2cSJim Jagielski case (2010): 337*b1cdbd2cSJim Jagielski oletest.testout_methodSequence( arrout1 ); 338*b1cdbd2cSJim Jagielski var sfarray= new VBArray( arrout1[0]); 339*b1cdbd2cSJim Jagielski arr= sfarray.toArray(); 340*b1cdbd2cSJim Jagielski document.writeln("use the browser's back arrow to go to the previous page <p>"); 341*b1cdbd2cSJim Jagielski document.writeln( arr.toString()); 342*b1cdbd2cSJim Jagielski break; 343*b1cdbd2cSJim Jagielski case (2011): 344*b1cdbd2cSJim Jagielski oletest.testout_methodSequence2( arrout1 ); 345*b1cdbd2cSJim Jagielski var sfarray= new VBArray( arrout1[0]); 346*b1cdbd2cSJim Jagielski arr= sfarray.toArray(); 347*b1cdbd2cSJim Jagielski var i; 348*b1cdbd2cSJim Jagielski for( i=0; i < arr.length; i++) 349*b1cdbd2cSJim Jagielski { 350*b1cdbd2cSJim Jagielski var sfarray= new VBArray( arr[i]); 351*b1cdbd2cSJim Jagielski var arr2= new Array(); 352*b1cdbd2cSJim Jagielski arr2= sfarray.toArray(); 353*b1cdbd2cSJim Jagielski document.writeln( arr2.toString() + "<br>" ); 354*b1cdbd2cSJim Jagielski } 355*b1cdbd2cSJim Jagielski break; 356*b1cdbd2cSJim Jagielski case (2012): 357*b1cdbd2cSJim Jagielski oletest.testout_methodMulParams1( arrout1, arrout2 ); 358*b1cdbd2cSJim Jagielski document.writeln( "int : " + arrout1[0] + " int :" + arrout2[0] ); break; 359*b1cdbd2cSJim Jagielski case (2013): 360*b1cdbd2cSJim Jagielski oletest.testout_methodMulParams2( arrout1, arrout2, arrout3 ); 361*b1cdbd2cSJim Jagielski document.writeln( "int: " + arrout1[0] + " int: " + arrout2[0] + " string: " + arrout3[0] ); break; 362*b1cdbd2cSJim Jagielski case (2014): 363*b1cdbd2cSJim Jagielski oletest.testout_methodMulParams3( "hallo", arrout1 ); 364*b1cdbd2cSJim Jagielski document.writeln( "string: " + arrout1[0] ); break; 365*b1cdbd2cSJim Jagielski case (2015): 366*b1cdbd2cSJim Jagielski oletest.testout_methodXInterface( arrout1 ); 367*b1cdbd2cSJim Jagielski var outVal= arrout1[0]; 368*b1cdbd2cSJim Jagielski alert( outVal.AttrAny2); 369*b1cdbd2cSJim Jagielski document.writeln( "string: " + arrout1[0].AttrAny2); break; 370*b1cdbd2cSJim Jagielski case (2016): 371*b1cdbd2cSJim Jagielski oletest.testout_methodFloat( arrout1 ); 372*b1cdbd2cSJim Jagielski alert( "float: " + arrout1[0] ); break; 373*b1cdbd2cSJim Jagielski case (2017): 374*b1cdbd2cSJim Jagielski var in1= 3.14; 375*b1cdbd2cSJim Jagielski var in2= 1111; 376*b1cdbd2cSJim Jagielski var in3= -2222; 377*b1cdbd2cSJim Jagielski oletest.testout_methodMulParams4( in1, arrout1, in2, arrout2, in3 ); 378*b1cdbd2cSJim Jagielski document.write("param1 [in] float: " + in1 + " param2 [out] float: " + arrout1[0] + 379*b1cdbd2cSJim Jagielski " param3 [in] long: " + in2 + " param4 [out] long: " + arrout2[0] + 380*b1cdbd2cSJim Jagielski " param5 [in] long: " + in3); 381*b1cdbd2cSJim Jagielski break; 382*b1cdbd2cSJim Jagielski 383*b1cdbd2cSJim Jagielski 384*b1cdbd2cSJim Jagielski // INOUT - Parameter ------------------------------------------------------------------------------- 385*b1cdbd2cSJim Jagielski // The in value has to be placed on index 0 of the passed in array 386*b1cdbd2cSJim Jagielski case (500): 387*b1cdbd2cSJim Jagielski arrout1[0]= 100; 388*b1cdbd2cSJim Jagielski oletest.testinout_methodByte( arrout1 ); 389*b1cdbd2cSJim Jagielski alert("byte: " + arrout1[0] ); break; 390*b1cdbd2cSJim Jagielski case (501): 391*b1cdbd2cSJim Jagielski arrout1[0]= 3.14; 392*b1cdbd2cSJim Jagielski oletest.testinout_methodDouble( arrout1 ); 393*b1cdbd2cSJim Jagielski alert( "double: " + arrout1[0] ); break; 394*b1cdbd2cSJim Jagielski case (502): 395*b1cdbd2cSJim Jagielski arrout1[0]= false; 396*b1cdbd2cSJim Jagielski oletest.testinout_methodBool( arrout1 ); 397*b1cdbd2cSJim Jagielski alert( "boolean: " + arrout1[0] ); break; 398*b1cdbd2cSJim Jagielski case (503): 399*b1cdbd2cSJim Jagielski arrout1[0]= 200; 400*b1cdbd2cSJim Jagielski oletest.testinout_methodShort( arrout1 ); 401*b1cdbd2cSJim Jagielski alert( "short: " + arrout1[0] ); break; 402*b1cdbd2cSJim Jagielski case (504): 403*b1cdbd2cSJim Jagielski arrout1[0]= 300; 404*b1cdbd2cSJim Jagielski oletest.testinout_methodUShort( arrout1 ); 405*b1cdbd2cSJim Jagielski alert( "unsigned short: " + arrout1[0] ); break; 406*b1cdbd2cSJim Jagielski case (505): 407*b1cdbd2cSJim Jagielski arrout1[0]= 400; 408*b1cdbd2cSJim Jagielski oletest.testinout_methodLong( arrout1 ); 409*b1cdbd2cSJim Jagielski alert( "long: " + arrout1[0] ); break; 410*b1cdbd2cSJim Jagielski case (506): 411*b1cdbd2cSJim Jagielski arrout1[0]= 500; 412*b1cdbd2cSJim Jagielski oletest.testinout_methodULong( arrout1 ); 413*b1cdbd2cSJim Jagielski alert( "unsigned long: " + arrout1[0] ); break; 414*b1cdbd2cSJim Jagielski case (507): 415*b1cdbd2cSJim Jagielski arrout1[0]= "A"; 416*b1cdbd2cSJim Jagielski oletest.testinout_methodChar( arrout1 ); 417*b1cdbd2cSJim Jagielski alert( "char: " + arrout1[0] ); break; 418*b1cdbd2cSJim Jagielski case (508): 419*b1cdbd2cSJim Jagielski arrout1[0]= "I am a string"; 420*b1cdbd2cSJim Jagielski oletest.testinout_methodString( arrout1 ); 421*b1cdbd2cSJim Jagielski alert( "string: " + arrout1[0] ); break; 422*b1cdbd2cSJim Jagielski case (509): 423*b1cdbd2cSJim Jagielski arrout1[0]= arr; 424*b1cdbd2cSJim Jagielski oletest.testinout_methodAny( arrout1 ); // the method simply returns the argument 425*b1cdbd2cSJim Jagielski sfarray= new VBArray( arrout1[0]); 426*b1cdbd2cSJim Jagielski arr= sfarray.toArray(); 427*b1cdbd2cSJim Jagielski alert( "any: " + arr.toString() ); break; 428*b1cdbd2cSJim Jagielski case (510): 429*b1cdbd2cSJim Jagielski arrout1[0]= arr; 430*b1cdbd2cSJim Jagielski oletest.testinout_methodSequence( arrout1 ); 431*b1cdbd2cSJim Jagielski var sfarray= new VBArray( arrout1[0]); 432*b1cdbd2cSJim Jagielski arr= sfarray.toArray(); 433*b1cdbd2cSJim Jagielski document.writeln("use the browser's back arrow to go to the previous page <p>"); 434*b1cdbd2cSJim Jagielski document.writeln( arr.toString()); 435*b1cdbd2cSJim Jagielski break; 436*b1cdbd2cSJim Jagielski case (511): 437*b1cdbd2cSJim Jagielski arrout1[0]= arrSeq; 438*b1cdbd2cSJim Jagielski oletest.testinout_methodSequence2( arrout1 ); 439*b1cdbd2cSJim Jagielski var sfarray= new VBArray( arrout1[0]); 440*b1cdbd2cSJim Jagielski arr= sfarray.toArray(); 441*b1cdbd2cSJim Jagielski var i; 442*b1cdbd2cSJim Jagielski for( i=0; i < arr.length; i++) 443*b1cdbd2cSJim Jagielski { 444*b1cdbd2cSJim Jagielski var sfarray= new VBArray( arr[i]); 445*b1cdbd2cSJim Jagielski var arr2= new Array(); 446*b1cdbd2cSJim Jagielski arr2= sfarray.toArray(); 447*b1cdbd2cSJim Jagielski document.writeln( arr2.toString() + "<br>" ); 448*b1cdbd2cSJim Jagielski } 449*b1cdbd2cSJim Jagielski break; 450*b1cdbd2cSJim Jagielski case 512: 451*b1cdbd2cSJim Jagielski var ob= new Object(); 452*b1cdbd2cSJim Jagielski ob.value= "this is a string"; 453*b1cdbd2cSJim Jagielski 454*b1cdbd2cSJim Jagielski arrout1[0]= ob; 455*b1cdbd2cSJim Jagielski alert (arrout1[0].value); 456*b1cdbd2cSJim Jagielski oletest.testinout_methodXInterface( arrout1); 457*b1cdbd2cSJim Jagielski alert (arrout1[0].value); 458*b1cdbd2cSJim Jagielski var outValue= arrout1[0]; 459*b1cdbd2cSJim Jagielski for ( key in outValue) 460*b1cdbd2cSJim Jagielski { 461*b1cdbd2cSJim Jagielski document.write( outValue[key] ); 462*b1cdbd2cSJim Jagielski } 463*b1cdbd2cSJim Jagielski document.write("Out value: " + outValue ); 464*b1cdbd2cSJim Jagielski document.write("Out 1 value: " + arrout1[1]); 465*b1cdbd2cSJim Jagielski break; 466*b1cdbd2cSJim Jagielski 467*b1cdbd2cSJim Jagielski// var ob= new Object(); 468*b1cdbd2cSJim Jagielski// ob.value= "this is a string"; 469*b1cdbd2cSJim Jagielski// inoutValue.Set( "object", ob); 470*b1cdbd2cSJim Jagielski// oletest.testinout_methodXInterface( inoutValue); 471*b1cdbd2cSJim Jagielski// document.write("Out value: " + inoutValue.Get().value ); 472*b1cdbd2cSJim Jagielski// break; 473*b1cdbd2cSJim Jagielski 474*b1cdbd2cSJim Jagielski case (513): 475*b1cdbd2cSJim Jagielski arrout1[0]= 3.14; 476*b1cdbd2cSJim Jagielski oletest.testinout_methodFloat( arrout1 ); 477*b1cdbd2cSJim Jagielski alert( "float: " + arrout1[0] ); break; 478*b1cdbd2cSJim Jagielski 479*b1cdbd2cSJim Jagielski 480*b1cdbd2cSJim Jagielski 481*b1cdbd2cSJim Jagielski // Test ANY 482*b1cdbd2cSJim Jagielski // Methods 483*b1cdbd2cSJim Jagielski case 1000: 484*b1cdbd2cSJim Jagielski i= 100; 485*b1cdbd2cSJim Jagielski ret= oletest.methodAnyTest1( i); 486*b1cdbd2cSJim Jagielski document.writeln( "in: " + i + " ret: " + ret); 487*b1cdbd2cSJim Jagielski break; 488*b1cdbd2cSJim Jagielski case 1001: 489*b1cdbd2cSJim Jagielski i= 3.14; 490*b1cdbd2cSJim Jagielski ret= oletest.methodAnyTest1( i); 491*b1cdbd2cSJim Jagielski document.writeln( "in: " + i + " ret: " + ret); 492*b1cdbd2cSJim Jagielski break; 493*b1cdbd2cSJim Jagielski case 1002: 494*b1cdbd2cSJim Jagielski i= "Hallo" 495*b1cdbd2cSJim Jagielski ret= oletest.methodAnyTest1( i); 496*b1cdbd2cSJim Jagielski document.writeln( "in: " + i + " ret: " + ret); 497*b1cdbd2cSJim Jagielski break; 498*b1cdbd2cSJim Jagielski case 1003: 499*b1cdbd2cSJim Jagielski i= arr; 500*b1cdbd2cSJim Jagielski ret= oletest.methodAnyTest1( i); 501*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 502*b1cdbd2cSJim Jagielski document.writeln( "in: " + i + " ret: " + sfarray.toArray()); 503*b1cdbd2cSJim Jagielski break; 504*b1cdbd2cSJim Jagielski case 1004: 505*b1cdbd2cSJim Jagielski var obj= new Object(); 506*b1cdbd2cSJim Jagielski obj[1]= "This is index 0"; 507*b1cdbd2cSJim Jagielski ret= oletest.methodAnyTest1( obj); 508*b1cdbd2cSJim Jagielski document.writeln( "in: " + obj + " ret: " + ret); 509*b1cdbd2cSJim Jagielski break; 510*b1cdbd2cSJim Jagielski 511*b1cdbd2cSJim Jagielski 512*b1cdbd2cSJim Jagielski // Test ANY property 513*b1cdbd2cSJim Jagielski case 1010: 514*b1cdbd2cSJim Jagielski i= 100; 515*b1cdbd2cSJim Jagielski oletest.AttrAny2= i; 516*b1cdbd2cSJim Jagielski ret= oletest.AttrAny2; 517*b1cdbd2cSJim Jagielski document.writeln( "set: " + i + " get: " + ret); 518*b1cdbd2cSJim Jagielski break; 519*b1cdbd2cSJim Jagielski case 1011: 520*b1cdbd2cSJim Jagielski i= 3.14; 521*b1cdbd2cSJim Jagielski oletest.AttrAny2= i; 522*b1cdbd2cSJim Jagielski ret= oletest.AttrAny2; 523*b1cdbd2cSJim Jagielski document.writeln( "set: " + i + " get: " + ret); 524*b1cdbd2cSJim Jagielski break; 525*b1cdbd2cSJim Jagielski case 1012: 526*b1cdbd2cSJim Jagielski i= "Hallo" 527*b1cdbd2cSJim Jagielski oletest.AttrAny2= i; 528*b1cdbd2cSJim Jagielski ret= oletest.AttrAny2; 529*b1cdbd2cSJim Jagielski document.writeln( "set: " + i + " get: " + ret); 530*b1cdbd2cSJim Jagielski break; 531*b1cdbd2cSJim Jagielski case 1013: 532*b1cdbd2cSJim Jagielski i= arr; 533*b1cdbd2cSJim Jagielski oletest.AttrAny2= i; 534*b1cdbd2cSJim Jagielski ret= oletest.AttrAny2; 535*b1cdbd2cSJim Jagielski sfarray= new VBArray( ret); 536*b1cdbd2cSJim Jagielski document.writeln( "set: " + i + " get: " + sfarray.toArray()); 537*b1cdbd2cSJim Jagielski break; 538*b1cdbd2cSJim Jagielski case 1014: 539*b1cdbd2cSJim Jagielski var obj= new Object(); 540*b1cdbd2cSJim Jagielski obj[1]= "This is index 0"; 541*b1cdbd2cSJim Jagielski oletest.AttrAny2= obj; 542*b1cdbd2cSJim Jagielski ret= oletest.AttrAny2; 543*b1cdbd2cSJim Jagielski document.writeln( "set: " + obj + " get: " + ret); 544*b1cdbd2cSJim Jagielski break; 545*b1cdbd2cSJim Jagielski 546*b1cdbd2cSJim Jagielski // Structs ---------------------------------------------- 547*b1cdbd2cSJim Jagielski case 1020: 548*b1cdbd2cSJim Jagielski var struct= oletest._GetStruct("com.sun.star.beans.Property"); 549*b1cdbd2cSJim Jagielski struct.Attributes= 1; 550*b1cdbd2cSJim Jagielski struct.Handle= 2; 551*b1cdbd2cSJim Jagielski struct.Name= "some Property" 552*b1cdbd2cSJim Jagielski oletest.methodStruct( struct); 553*b1cdbd2cSJim Jagielski break; 554*b1cdbd2cSJim Jagielski case 1021: 555*b1cdbd2cSJim Jagielski var struct= oletest.retMethodStruct(); 556*b1cdbd2cSJim Jagielski alert( "Property::Attributes : " + struct.Attributes + " \nProperty::Handle : " 557*b1cdbd2cSJim Jagielski + struct.Handle + "\n Property::Name : " + struct.Name); 558*b1cdbd2cSJim Jagielski break; 559*b1cdbd2cSJim Jagielski case 1022: 560*b1cdbd2cSJim Jagielski var struct= oletest._GetStruct("com.sun.star.beans.Property"); 561*b1cdbd2cSJim Jagielski struct.Attributes= 1; 562*b1cdbd2cSJim Jagielski struct.Handle= 2; 563*b1cdbd2cSJim Jagielski struct.Name= "some Property" 564*b1cdbd2cSJim Jagielski oletest.AttrStruct= struct; 565*b1cdbd2cSJim Jagielski 566*b1cdbd2cSJim Jagielski var struct2= oletest.AttrStruct; 567*b1cdbd2cSJim Jagielski alert( "property get: \n Property::Attributes : " + struct2.Attributes + " \nProperty::Handle : " 568*b1cdbd2cSJim Jagielski + struct2.Handle + "\n Property::Name : " + struct2.Name); 569*b1cdbd2cSJim Jagielski break; 570*b1cdbd2cSJim Jagielski 571*b1cdbd2cSJim Jagielski case 2100: 572*b1cdbd2cSJim Jagielski alert("2100"); 573*b1cdbd2cSJim Jagielski var ret= oletest.retMethodByte(); 574*b1cdbd2cSJim Jagielski var sfarray= VBArray( ret); 575*b1cdbd2cSJim Jagielski document.writeln( sfarray.toArray() ); 576*b1cdbd2cSJim Jagielski break; 577*b1cdbd2cSJim Jagielski 578*b1cdbd2cSJim Jagielski 579*b1cdbd2cSJim Jagielski 580*b1cdbd2cSJim Jagielski } 581*b1cdbd2cSJim Jagielski 582*b1cdbd2cSJim Jagielski} 583*b1cdbd2cSJim Jagielski 584*b1cdbd2cSJim Jagielskifunction funcOut( out) 585*b1cdbd2cSJim Jagielski{ 586*b1cdbd2cSJim Jagielski out["du"]= 0xffff; 587*b1cdbd2cSJim Jagielski} 588*b1cdbd2cSJim Jagielski 589*b1cdbd2cSJim Jagielski</script> 590*b1cdbd2cSJim Jagielski 591*b1cdbd2cSJim Jagielski<script language="VBScript"> 592*b1cdbd2cSJim Jagielski 593*b1cdbd2cSJim Jagielskisub callBasic(id) 594*b1cdbd2cSJim Jagielski 595*b1cdbd2cSJim Jagielski Dim factory 596*b1cdbd2cSJim Jagielski Set factory= GetObject("", "com.sun.star.ServiceManager") 597*b1cdbd2cSJim Jagielski 598*b1cdbd2cSJim Jagielski Set oletest= factory.createInstance("oletest.OleTest") 599*b1cdbd2cSJim Jagielski 600*b1cdbd2cSJim Jagielski 601*b1cdbd2cSJim Jagielski arrInt= Array(1,2,3,4,5) 602*b1cdbd2cSJim Jagielski arrInt2= Array( -1, -2, 127, 128, 0) 603*b1cdbd2cSJim Jagielski arrDouble= Array(1.1, 2.2, 3.3, 4.4, 5.5) 604*b1cdbd2cSJim Jagielski arrBool= Array(0,1,0,2,0) 605*b1cdbd2cSJim Jagielski arrLong= Array( &Hff, &Hffff, &Hffffff, &Hffffffff) 606*b1cdbd2cSJim Jagielski arrString= Array("Chicken Wings", "Cheeseburger", "Hamburger") 607*b1cdbd2cSJim Jagielski arrChar= Array("a",65, "M") 608*b1cdbd2cSJim Jagielski arrAny= Array("Mickey", 3.14, 100, "A") 609*b1cdbd2cSJim Jagielski 610*b1cdbd2cSJim Jagielski Dim arrDim2Int(1,1) 611*b1cdbd2cSJim Jagielski For i= 0 To 1 612*b1cdbd2cSJim Jagielski For j= 0 To 1 613*b1cdbd2cSJim Jagielski arrDim2Int(i,j) = i*2 + j 614*b1cdbd2cSJim Jagielski Next 615*b1cdbd2cSJim Jagielski Next 616*b1cdbd2cSJim Jagielski 617*b1cdbd2cSJim Jagielski Dim arrDim3Int(1,1,1) 618*b1cdbd2cSJim Jagielski For i= 0 To 1 619*b1cdbd2cSJim Jagielski For j= 0 To 1 620*b1cdbd2cSJim Jagielski For k=0 To 1 621*b1cdbd2cSJim Jagielski arrDim3Int(i,j,k) = i*2 + j*2 + k 622*b1cdbd2cSJim Jagielski Next 623*b1cdbd2cSJim Jagielski Next 624*b1cdbd2cSJim Jagielski Next 625*b1cdbd2cSJim Jagielski 626*b1cdbd2cSJim Jagielski 627*b1cdbd2cSJim Jagielski select case id 628*b1cdbd2cSJim Jagielski case 0 629*b1cdbd2cSJim Jagielski document.writeln "param: " 630*b1cdbd2cSJim Jagielski printArray arrInt 631*b1cdbd2cSJim Jagielski ret= oletest.methodByte(arrInt) 632*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 633*b1cdbd2cSJim Jagielski printArray ret 634*b1cdbd2cSJim Jagielski case 1 635*b1cdbd2cSJim Jagielski document.writeln "param: " 636*b1cdbd2cSJim Jagielski printArray arrDouble 637*b1cdbd2cSJim Jagielski ret= oletest.methodDouble(arrDouble) 638*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 639*b1cdbd2cSJim Jagielski printArray ret 640*b1cdbd2cSJim Jagielski case 2 641*b1cdbd2cSJim Jagielski document.writeln "param: " 642*b1cdbd2cSJim Jagielski printArray arrBool 643*b1cdbd2cSJim Jagielski ret= oletest.methodBool(arrBool) 644*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 645*b1cdbd2cSJim Jagielski printArray ret 646*b1cdbd2cSJim Jagielski case 3 647*b1cdbd2cSJim Jagielski document.writeln "param: " 648*b1cdbd2cSJim Jagielski printArray arrInt2 649*b1cdbd2cSJim Jagielski ret= oletest.methodShort(arrInt2) 650*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 651*b1cdbd2cSJim Jagielski printArray ret 652*b1cdbd2cSJim Jagielski case 4 653*b1cdbd2cSJim Jagielski document.writeln "param: " 654*b1cdbd2cSJim Jagielski printArray arrInt 655*b1cdbd2cSJim Jagielski ret= oletest.methodUShort(arrInt) 656*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 657*b1cdbd2cSJim Jagielski printArray ret 658*b1cdbd2cSJim Jagielski case 5 659*b1cdbd2cSJim Jagielski document.writeln "param: " 660*b1cdbd2cSJim Jagielski printArray arrLong 661*b1cdbd2cSJim Jagielski ret= oletest.methodLong(arrLong) 662*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 663*b1cdbd2cSJim Jagielski printArray ret 664*b1cdbd2cSJim Jagielski case 6 665*b1cdbd2cSJim Jagielski document.writeln "param: " 666*b1cdbd2cSJim Jagielski printArray arrInt 667*b1cdbd2cSJim Jagielski ret= oletest.methodULong(arrInt) 668*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 669*b1cdbd2cSJim Jagielski printArray ret 670*b1cdbd2cSJim Jagielski case 7 671*b1cdbd2cSJim Jagielski document.writeln "param: " 672*b1cdbd2cSJim Jagielski printArray arrString 673*b1cdbd2cSJim Jagielski ret= oletest.methodString(arrString) 674*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 675*b1cdbd2cSJim Jagielski printArray ret 676*b1cdbd2cSJim Jagielski case 8 677*b1cdbd2cSJim Jagielski document.writeln "param: " 678*b1cdbd2cSJim Jagielski printArray arrChar 679*b1cdbd2cSJim Jagielski ret= oletest.methodChar(arrChar) 680*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 681*b1cdbd2cSJim Jagielski printArray ret 682*b1cdbd2cSJim Jagielski case 9 683*b1cdbd2cSJim Jagielski document.writeln "param: " 684*b1cdbd2cSJim Jagielski printArray arrAny 685*b1cdbd2cSJim Jagielski ret= oletest.methodAny(arrAny) 686*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 687*b1cdbd2cSJim Jagielski printArray ret 688*b1cdbd2cSJim Jagielski case 10 689*b1cdbd2cSJim Jagielski document.writeln "param: " 690*b1cdbd2cSJim Jagielski printArray2 arrDim2Int 691*b1cdbd2cSJim Jagielski ret= oletest.methodSequence(arrDim2Int) 692*b1cdbd2cSJim Jagielski document.writeln "<br> return value: " 693*b1cdbd2cSJim Jagielski for each val in ret 694*b1cdbd2cSJim Jagielski document.write "<br> array: " 695*b1cdbd2cSJim Jagielski for each val2 in val 696*b1cdbd2cSJim Jagielski document.write val2 697*b1cdbd2cSJim Jagielski next 698*b1cdbd2cSJim Jagielski next 699*b1cdbd2cSJim Jagielski 700*b1cdbd2cSJim Jagielski // Out Parameter 701*b1cdbd2cSJim Jagielski case 150 702*b1cdbd2cSJim Jagielski dim rOut 703*b1cdbd2cSJim Jagielski oletest.testout_methodByte rOut 704*b1cdbd2cSJim Jagielski MsgBox rOut 705*b1cdbd2cSJim Jagielski// void testout_methodFloat( [out] float rOut); 706*b1cdbd2cSJim Jagielski// void testout_methodDouble( [out] double rOut); 707*b1cdbd2cSJim Jagielski// void testout_methodBool( [out] boolean rOut); 708*b1cdbd2cSJim Jagielski// void testout_methodShort( [out] short rOut); 709*b1cdbd2cSJim Jagielski// void testout_methodUShort( [out] unsigned short rOut); 710*b1cdbd2cSJim Jagielski// void testout_methodLong( [out] long rOut); 711*b1cdbd2cSJim Jagielski// void testout_methodULong( [out] unsigned long rOut); 712*b1cdbd2cSJim Jagielski 713*b1cdbd2cSJim Jagielski 714*b1cdbd2cSJim Jagielski // In Out Parameter -------------------------------------------------- 715*b1cdbd2cSJim Jagielski case 100 716*b1cdbd2cSJim Jagielski a= 100 717*b1cdbd2cSJim Jagielski document.write "param: " & CStr( a) & "<br>" 718*b1cdbd2cSJim Jagielski oletest.testinout_methodByte a 719*b1cdbd2cSJim Jagielski document.write a 720*b1cdbd2cSJim Jagielski case 101 721*b1cdbd2cSJim Jagielski a= 1.11 722*b1cdbd2cSJim Jagielski document.write "param: " & CStr( a) & "<br>" 723*b1cdbd2cSJim Jagielski oletest.testinout_methodDouble a 724*b1cdbd2cSJim Jagielski document.write a 725*b1cdbd2cSJim Jagielski case 102 726*b1cdbd2cSJim Jagielski a= 5 727*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 728*b1cdbd2cSJim Jagielski oletest.testinout_methodBool a 729*b1cdbd2cSJim Jagielski document.write a 730*b1cdbd2cSJim Jagielski case 103 731*b1cdbd2cSJim Jagielski a= -10 732*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 733*b1cdbd2cSJim Jagielski oletest.testinout_methodShort a 734*b1cdbd2cSJim Jagielski document.write a 735*b1cdbd2cSJim Jagielski case 104 736*b1cdbd2cSJim Jagielski a= 128 737*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 738*b1cdbd2cSJim Jagielski oletest.testinout_methodUShort a 739*b1cdbd2cSJim Jagielski document.write a 740*b1cdbd2cSJim Jagielski case 105 741*b1cdbd2cSJim Jagielski a= 65556 742*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 743*b1cdbd2cSJim Jagielski oletest.testinout_methodLong a 744*b1cdbd2cSJim Jagielski document.write a 745*b1cdbd2cSJim Jagielski case 106 746*b1cdbd2cSJim Jagielski a= 65556 747*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 748*b1cdbd2cSJim Jagielski oletest.testinout_methodULong a 749*b1cdbd2cSJim Jagielski document.write a 750*b1cdbd2cSJim Jagielski case 107 751*b1cdbd2cSJim Jagielski a= "ein test string" 752*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 753*b1cdbd2cSJim Jagielski oletest.testinout_methodString a 754*b1cdbd2cSJim Jagielski document.write a 755*b1cdbd2cSJim Jagielski case 108 756*b1cdbd2cSJim Jagielski a= "W" 757*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 758*b1cdbd2cSJim Jagielski oletest.testinout_methodChar a 759*b1cdbd2cSJim Jagielski document.write a 760*b1cdbd2cSJim Jagielski case 109 761*b1cdbd2cSJim Jagielski a= "Ein String im Any" 762*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 763*b1cdbd2cSJim Jagielski oletest.other_methodAnyIn a 764*b1cdbd2cSJim Jagielski document.write a 765*b1cdbd2cSJim Jagielski 766*b1cdbd2cSJim Jagielski case 150 767*b1cdbd2cSJim Jagielski dim a 768*b1cdbd2cSJim Jagielski document.write "param: "& CStr( a) & "<br>" 769*b1cdbd2cSJim Jagielski oletest.testout_methodByte( a) 770*b1cdbd2cSJim Jagielski document.write a 771*b1cdbd2cSJim Jagielski// Attributes ----------------------------------------------------------------- 772*b1cdbd2cSJim Jagielski case 200 773*b1cdbd2cSJim Jagielski document.write "set: " 774*b1cdbd2cSJim Jagielski printArray arrInt 775*b1cdbd2cSJim Jagielski oletest.AttrByte= arrInt 776*b1cdbd2cSJim Jagielski b= oletest.AttrByte 777*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 778*b1cdbd2cSJim Jagielski case 201 779*b1cdbd2cSJim Jagielski document.write "set: " 780*b1cdbd2cSJim Jagielski printArray arrDouble 781*b1cdbd2cSJim Jagielski oletest.AttrDouble= arrDouble 782*b1cdbd2cSJim Jagielski b= oletest.AttrDouble 783*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 784*b1cdbd2cSJim Jagielski case 202 785*b1cdbd2cSJim Jagielski document.write "set: " 786*b1cdbd2cSJim Jagielski printArray arrBool : 787*b1cdbd2cSJim Jagielski oletest.AttrBool= arrBool 788*b1cdbd2cSJim Jagielski b= oletest.AttrBool 789*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 790*b1cdbd2cSJim Jagielski case 203 791*b1cdbd2cSJim Jagielski document.write "set: " 792*b1cdbd2cSJim Jagielski printArray arrInt2 : 793*b1cdbd2cSJim Jagielski oletest.AttrShort= arrInt2 794*b1cdbd2cSJim Jagielski b= oletest.AttrShort 795*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 796*b1cdbd2cSJim Jagielski case 204 797*b1cdbd2cSJim Jagielski document.write "set: " 798*b1cdbd2cSJim Jagielski printArray arrInt 799*b1cdbd2cSJim Jagielski oletest.AttrUShort= arrInt 800*b1cdbd2cSJim Jagielski b= oletest.AttrUShort 801*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 802*b1cdbd2cSJim Jagielski case 205 803*b1cdbd2cSJim Jagielski document.write "set: " 804*b1cdbd2cSJim Jagielski printArray arrInt2 805*b1cdbd2cSJim Jagielski oletest.AttrLong= arrInt2 806*b1cdbd2cSJim Jagielski b= oletest.AttrLong 807*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 808*b1cdbd2cSJim Jagielski case 206 809*b1cdbd2cSJim Jagielski document.write "set: " 810*b1cdbd2cSJim Jagielski printArray arrInt 811*b1cdbd2cSJim Jagielski oletest.AttrULong= arrInt 812*b1cdbd2cSJim Jagielski b= oletest.AttrULong 813*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 814*b1cdbd2cSJim Jagielski case 207 815*b1cdbd2cSJim Jagielski document.write "set: " 816*b1cdbd2cSJim Jagielski printArray arrString 817*b1cdbd2cSJim Jagielski oletest.AttrString= arrString 818*b1cdbd2cSJim Jagielski b= oletest.AttrString 819*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 820*b1cdbd2cSJim Jagielski case 208 821*b1cdbd2cSJim Jagielski document.write "set: " 822*b1cdbd2cSJim Jagielski printArray arrChar 823*b1cdbd2cSJim Jagielski oletest.AttrChar= arrChar 824*b1cdbd2cSJim Jagielski b= oletest.AttrChar 825*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 826*b1cdbd2cSJim Jagielski case 209 827*b1cdbd2cSJim Jagielski document.write "set: " 828*b1cdbd2cSJim Jagielski printArray arrAny 829*b1cdbd2cSJim Jagielski oletest.AttrAny= arrAny 830*b1cdbd2cSJim Jagielski b= oletest.AttrAny 831*b1cdbd2cSJim Jagielski call printArrayEx( "<br> get: ", "<br>", b) 832*b1cdbd2cSJim Jagielski 833*b1cdbd2cSJim Jagielski case 210 834*b1cdbd2cSJim Jagielski document.write "set: <br>" 835*b1cdbd2cSJim Jagielski printArray2 arrDim2Int : 836*b1cdbd2cSJim Jagielski oletest.AttrSequence= arrDim2Int 837*b1cdbd2cSJim Jagielski ret= oletest.AttrSequence 838*b1cdbd2cSJim Jagielski document.write "get: " 839*b1cdbd2cSJim Jagielski for each val in ret 840*b1cdbd2cSJim Jagielski document.write "<br> array: " 841*b1cdbd2cSJim Jagielski for each val2 in val 842*b1cdbd2cSJim Jagielski document.write val2 843*b1cdbd2cSJim Jagielski next 844*b1cdbd2cSJim Jagielski next 845*b1cdbd2cSJim Jagielski 846*b1cdbd2cSJim Jagielski case 300 847*b1cdbd2cSJim Jagielski dim aByte 848*b1cdbd2cSJim Jagielski aByte= 100 849*b1cdbd2cSJim Jagielski call oletest.testinout_methodByte( aByte) 850*b1cdbd2cSJim Jagielski MsgBox aByte 851*b1cdbd2cSJim Jagielski 852*b1cdbd2cSJim Jagielski 853*b1cdbd2cSJim Jagielski case 400 854*b1cdbd2cSJim Jagielski 855*b1cdbd2cSJim Jagielski set struct= oletest.Bridge_GetStruct("com.sun.star.beans.Property") 856*b1cdbd2cSJim Jagielski struct.Attributes= 1 857*b1cdbd2cSJim Jagielski struct.Handle= 2 858*b1cdbd2cSJim Jagielski struct.Name= "some Property" 859*b1cdbd2cSJim Jagielski oletest.methodStruct struct 860*b1cdbd2cSJim Jagielski 861*b1cdbd2cSJim Jagielski case 401 862*b1cdbd2cSJim Jagielski set struct= oletest.retMethodStruct() 863*b1cdbd2cSJim Jagielski alert( "Property::Attributes : " & struct.Attributes & vblf & " Property::Handle : " _ 864*b1cdbd2cSJim Jagielski & struct.Handle & vblf & " Property::Name : " & struct.Name) 865*b1cdbd2cSJim Jagielski 866*b1cdbd2cSJim Jagielski case 402 867*b1cdbd2cSJim Jagielski set struct= oletest.Bridge_GetStruct("com.sun.star.beans.Property") 868*b1cdbd2cSJim Jagielski struct.Attributes= 1 869*b1cdbd2cSJim Jagielski struct.Handle= 2 870*b1cdbd2cSJim Jagielski struct.Name= "some Property" 871*b1cdbd2cSJim Jagielski oletest.AttrStruct= struct 872*b1cdbd2cSJim Jagielski 873*b1cdbd2cSJim Jagielski set struct2= oletest.AttrStruct 874*b1cdbd2cSJim Jagielski alert( "property get: " & vblf & "Property::Attributes : " & struct2.Attributes & _ 875*b1cdbd2cSJim Jagielski vblf & " Property::Handle : " & struct2.Handle & vblf & " Property::Name : " _ 876*b1cdbd2cSJim Jagielski & struct2.Name) 877*b1cdbd2cSJim Jagielski end select 878*b1cdbd2cSJim Jagielskiend sub 879*b1cdbd2cSJim Jagielski 880*b1cdbd2cSJim Jagielskisub printArray( arr) 881*b1cdbd2cSJim Jagielski document.write "array: " 882*b1cdbd2cSJim Jagielski For Each val In arr 883*b1cdbd2cSJim Jagielski document.write CStr(val) & " " 884*b1cdbd2cSJim Jagielski Next 885*b1cdbd2cSJim Jagielskiend sub 886*b1cdbd2cSJim Jagielski 887*b1cdbd2cSJim Jagielski// print a 2 dimensional Array 888*b1cdbd2cSJim Jagielski 889*b1cdbd2cSJim Jagielskisub printArray2( arr) 890*b1cdbd2cSJim Jagielski elements1= UBound( arr, 1) - LBound( arr, 1) +1 891*b1cdbd2cSJim Jagielski elements2= UBound( arr, 2) - LBound( arr, 2) +1 892*b1cdbd2cSJim Jagielski 893*b1cdbd2cSJim Jagielski For i=0 To elements1 -1 894*b1cdbd2cSJim Jagielski document.write( "array " & CStr( i) & ": " ) 895*b1cdbd2cSJim Jagielski For j=0 To elements2 -1 896*b1cdbd2cSJim Jagielski document.write CStr( arr(i,j)) 897*b1cdbd2cSJim Jagielski Next 898*b1cdbd2cSJim Jagielski document.write( "<br>") 899*b1cdbd2cSJim Jagielski Next 900*b1cdbd2cSJim Jagielskiend sub 901*b1cdbd2cSJim Jagielski 902*b1cdbd2cSJim Jagielskisub printArrayEx( pre, post, array) 903*b1cdbd2cSJim Jagielski document.write pre 904*b1cdbd2cSJim Jagielski printArray array 905*b1cdbd2cSJim Jagielski document.write post 906*b1cdbd2cSJim Jagielskiend sub 907*b1cdbd2cSJim Jagielski</script> 908*b1cdbd2cSJim Jagielski 909*b1cdbd2cSJim Jagielski<div id=out> </div> 910*b1cdbd2cSJim Jagielski 911*b1cdbd2cSJim Jagielski<!-- Insert HTML here --> 912*b1cdbd2cSJim Jagielski 913*b1cdbd2cSJim Jagielski<h2> JScript </h2> 914*b1cdbd2cSJim JagielskiTests Array/Sequence conversion.<br> 915*b1cdbd2cSJim JagielskiAll methods receive a Sequence as Parameter. The element type of the Sequence is written on the buttons. 916*b1cdbd2cSJim Jagielski<br> 917*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1)'>byte</Button> 918*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 14)'>float</Button> 919*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2)'>double</Button> 920*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 3)'>boolean</Button> 921*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 4)'>short</Button> 922*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 5)'>unsigned short</Button> 923*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 6)'>long</Button> 924*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 7)'>unsigned long</Button> 925*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 8)'>char</Button> 926*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 9)'>string</Button> 927*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 10)'>any</Button> 928*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 11)'>sequence<long> </Button> 929*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 12)'>sequence<sequence<long> > </Button> 930*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 13)' id=button2 name=button2>XInterface</Button> 931*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 15)'>XEventListener</Button> 932*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 16)'>sequence<XEventListener></Button> 933*b1cdbd2cSJim Jagielski<p> 934*b1cdbd2cSJim Jagielski 935*b1cdbd2cSJim Jagielski<p> 936*b1cdbd2cSJim JagielskiOut Parameter <br> 937*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2000)'>byte </Button> 938*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2016)'>float</Button> 939*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2001)'>double</Button> 940*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2002)'>boolean</Button> 941*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2003)'>short</Button> 942*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2004)'>unsigned short</Button> 943*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2005)'>long</Button> 944*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2006)'>unsigned long</Button> 945*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2007)'>char</Button> 946*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2008)'>string</Button> 947*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2009)'>any</Button> 948*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2010)'>sequence<long> </Button> 949*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2011)'>sequence<sequence<long> > </Button> 950*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2012)'>2 out </Button> 951*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2013)'>3 out </Button> 952*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2014)'>1 in & 1 out </Button> 953*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2015)'>XInterface </Button> 954*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2017)'>mixed out and in </Button> 955*b1cdbd2cSJim Jagielski 956*b1cdbd2cSJim Jagielski 957*b1cdbd2cSJim Jagielski<p> 958*b1cdbd2cSJim JagielskiIn Out Parameter <br> 959*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 500)'>byte </Button> 960*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 513)'>float</Button> 961*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 501)'>double</Button> 962*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 502)'>boolean</Button> 963*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 503)'>short</Button> 964*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 504)'>unsigned short</Button> 965*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 505)'>long</Button> 966*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 506)'>unsigned long</Button> 967*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 507)'>char</Button> 968*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 508)'>string</Button> 969*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 509)'>any</Button> 970*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 510)'>sequence<long> </Button> 971*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 511)'>sequence<sequence<long> > </Button> 972*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 512)'>XInterface </Button> 973*b1cdbd2cSJim Jagielski<p> 974*b1cdbd2cSJim Jagielski 975*b1cdbd2cSJim JagielskiTests Array/Sequence conversion with Attributes. All params are of type Sequence and 976*b1cdbd2cSJim Jagielski the element type of the Sequence is written on the buttons. <br> 977*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 200)'>byte </Button> 978*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 212)'>float</Button> 979*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 201)'>double</Button> 980*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 202)'>boolean</Button> 981*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 203)'>short</Button> 982*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 204)'>unsigned short</Button> 983*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 205)'>long</Button> 984*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 206)'>unsigned long</Button> 985*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 207)'>char</Button> 986*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 208)'>string</Button> 987*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 209)'>any</Button> 988*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 210)'>sequence<long> </Button> 989*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 211)'>sequence<sequence<long> > </Button> 990*b1cdbd2cSJim Jagielski<p> 991*b1cdbd2cSJim Jagielski 992*b1cdbd2cSJim JagielskiTest of Any parameter in a method. Any contains:<br> 993*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1000)'>integer </Button> 994*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1001)'>double </Button> 995*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1002)'>string</Button> 996*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1003)'>array</Button> 997*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1004)'>object</Button> 998*b1cdbd2cSJim Jagielski<p> 999*b1cdbd2cSJim JagielskiTest of Any parameter in a property. Any contains:<br> 1000*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1010)'>integer </Button> 1001*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1011)'>double </Button> 1002*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1012)'>string</Button> 1003*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1013)'>array</Button> 1004*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1014)'>object</Button> 1005*b1cdbd2cSJim Jagielski<P> 1006*b1cdbd2cSJim JagielskiTest of Struct conversions<br> 1007*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1020)'>methodStruct </Button> 1008*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1021)'>return struct</Button> 1009*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 1022)'>struct attribute</Button> 1010*b1cdbd2cSJim Jagielski 1011*b1cdbd2cSJim Jagielski 1012*b1cdbd2cSJim Jagielski 1013*b1cdbd2cSJim Jagielski 1014*b1cdbd2cSJim Jagielski<p> 1015*b1cdbd2cSJim Jagielski 1016*b1cdbd2cSJim Jagielski 1017*b1cdbd2cSJim Jagielski<h2> Visual Basic Tests </h2> 1018*b1cdbd2cSJim JagielskiTest array /Sequence conversion and return value<br> 1019*b1cdbd2cSJim JagielskiTemplate: <b> Sequence < type > method( Sequence< type > ) </b> <br> 1020*b1cdbd2cSJim Jagielski<!--<font color= red>Multi dimensional arrays are not processed by VBSript</font> <br> --> 1021*b1cdbd2cSJim Jagielski<button onclick='callBasic(0)'>byte</button> 1022*b1cdbd2cSJim Jagielski<button onclick='callBasic(1)'>double</button> 1023*b1cdbd2cSJim Jagielski<button onclick='callBasic(2)'>boolean</button> 1024*b1cdbd2cSJim Jagielski<button onclick='callBasic(3)'>short</button> 1025*b1cdbd2cSJim Jagielski<button onclick='callBasic(4)'>u short</button> 1026*b1cdbd2cSJim Jagielski<button onclick='callBasic(5)'>long</button> 1027*b1cdbd2cSJim Jagielski<button onclick='callBasic(6)'>u long</button> 1028*b1cdbd2cSJim Jagielski<button onclick='callBasic(7)'>string</button> 1029*b1cdbd2cSJim Jagielski<button onclick='callBasic(8)'>char</button> 1030*b1cdbd2cSJim Jagielski<button onclick='callBasic(9)'>any</button> <br> 1031*b1cdbd2cSJim Jagielski<button onclick='callBasic(10)'>Seq < int ></button> <br> 1032*b1cdbd2cSJim Jagielski 1033*b1cdbd2cSJim Jagielski 1034*b1cdbd2cSJim JagielskiIN/Out parameter <br> 1035*b1cdbd2cSJim JagielskiTemplate: <b> void method(type ) </b> <br> 1036*b1cdbd2cSJim Jagielski<button onclick='callBasic(100)'>byte</button> 1037*b1cdbd2cSJim Jagielski<button onclick='callBasic(101)'>double</button> 1038*b1cdbd2cSJim Jagielski<button onclick='callBasic(102)'>boolean</button> 1039*b1cdbd2cSJim Jagielski<button onclick='callBasic(103)'>short</button> 1040*b1cdbd2cSJim Jagielski<button onclick='callBasic(104)'>u short</button> 1041*b1cdbd2cSJim Jagielski<button onclick='callBasic(105)'>long</button> 1042*b1cdbd2cSJim Jagielski<button onclick='callBasic(106)'>u long</button> 1043*b1cdbd2cSJim Jagielski<button onclick='callBasic(107)'>string</button> 1044*b1cdbd2cSJim Jagielski<button onclick='callBasic(108)'>char</button> 1045*b1cdbd2cSJim Jagielski<button onclick='callBasic(109)'>any</button> <br> 1046*b1cdbd2cSJim Jagielski 1047*b1cdbd2cSJim JagielskiSimple out parameter<br> 1048*b1cdbd2cSJim Jagielski<button onclick='callBasic(150)'>byte</button> 1049*b1cdbd2cSJim Jagielski<!--<button onclick='callBasic(151)'>double</button> 1050*b1cdbd2cSJim Jagielski<button onclick='callBasic(152)'>boolean</button> 1051*b1cdbd2cSJim Jagielski<button onclick='callBasic(153)'>short</button> 1052*b1cdbd2cSJim Jagielski<button onclick='callBasic(155)'>long</button> 1053*b1cdbd2cSJim Jagielski<button onclick='callBasic(157)'>string</button> 1054*b1cdbd2cSJim Jagielski<button onclick='callBasic(158)'>char</button> 1055*b1cdbd2cSJim Jagielski<button onclick='callBasic(159)'>any</button> <br> 1056*b1cdbd2cSJim Jagielski//--> 1057*b1cdbd2cSJim Jagielski<br> 1058*b1cdbd2cSJim Jagielski 1059*b1cdbd2cSJim Jagielski 1060*b1cdbd2cSJim JagielskiTests Array/Sequence conversion with <b>Attributes</b>. All params are of type Sequence and 1061*b1cdbd2cSJim Jagielski the element type of the Sequence is written on the buttons. <br> 1062*b1cdbd2cSJim Jagielski<button onclick='callBasic( 200)'>byte </Button> 1063*b1cdbd2cSJim Jagielski<button onclick='callBasic( 201)'>double</Button> 1064*b1cdbd2cSJim Jagielski<button onclick='callBasic( 202)'>boolean</Button> 1065*b1cdbd2cSJim Jagielski<button onclick='callBasic( 203)'>short</Button> 1066*b1cdbd2cSJim Jagielski<button onclick='callBasic( 204)'>unsigned short</Button> 1067*b1cdbd2cSJim Jagielski<button onclick='callBasic( 205)'>long</Button> 1068*b1cdbd2cSJim Jagielski<button onclick='callBasic( 206)'>unsigned long</Button> 1069*b1cdbd2cSJim Jagielski<button onclick='callBasic( 207)'>string</Button> 1070*b1cdbd2cSJim Jagielski<button onclick='callBasic( 208)'>char</Button> 1071*b1cdbd2cSJim Jagielski<button onclick='callBasic( 209)'>any</Button> 1072*b1cdbd2cSJim Jagielski<button onclick='callBasic( 210)'>sequence<long> </Button> <br> 1073*b1cdbd2cSJim Jagielski 1074*b1cdbd2cSJim JagielskiIn Out parameter <br> 1075*b1cdbd2cSJim Jagielski<button onclick='callBasic( 300)'>byte</Button> 1076*b1cdbd2cSJim Jagielski<p> 1077*b1cdbd2cSJim JagielskiStructs <br> 1078*b1cdbd2cSJim Jagielski<button onclick='callBasic(400)'>methodStruct</button> 1079*b1cdbd2cSJim Jagielski<button onclick='callBasic(401)'>return Struct</button> 1080*b1cdbd2cSJim Jagielski<button onclick='callBasic(402)'>struct attribute</button> 1081*b1cdbd2cSJim Jagielski 1082*b1cdbd2cSJim Jagielski 1083*b1cdbd2cSJim Jagielski 1084