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