xref: /aoo4110/main/extensions/test/ole/OleTest.htm (revision b1cdbd2c)
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&lt BYTE &gt <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&lt double &gt <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&lt BOOL &gt <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&lt SHORT &gt <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&lt unsigned SHORT &gt <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&lt LONG &gt <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&lt unsigned LONG &gt <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&lt wchar_t &gt <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&lt UString &gt <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&lt UsrAny &gt <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&lt Sequence &lt long &gt&gt <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&lt float&gt <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&lt;long&gt; </Button>
929*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 12)'>sequence&lt;sequence&lt;long&gt; &gt; </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&lt;XEventListener&gt;</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&ltlong&gt </Button>
949*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 2011)'>sequence&ltsequence&ltlong&gt &gt </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&ltlong&gt </Button>
971*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 511)'>sequence&ltsequence&ltlong&gt &gt </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&ltlong&gt </Button>
989*b1cdbd2cSJim Jagielski<button onclick='callOleTest( 211)'>sequence&ltsequence&ltlong&gt &gt </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 &lt type &gt method( Sequence&lt type &gt ) </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 &lt int &gt</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&ltlong&gt </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