Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Active Server Pages (ASP)
Expertise: Beginner
Oct 1, 1996

Passing Variants to Methods

Question:
I'm trying to call a method on my ActiveX control from VBScript. The method has one input argument (a long) and three output arguments (doubles). I Dim variables for each argument and initialize them with values of the appropriate types. At runtime, I get a "Type Mismatch" error on the call to the ActiveX method. Since all variables in VBScript are of type Variant, I expected that VBScript would figure out the argument types from the method signature. What am I doing wrong here?

Answer:
Before you pass them to the method on the control, you should probably use the CLng and CDbl functions to convert the variables manually. While all the variables are Variants, your control probably is not expecting a variant. The conversion is sometimes flaky like this, especially when dealing with controls as in your case.

This answer was received from the sender: VBScript doesn't appear to support the notion of a variable reference. Without support for references (or something similar), I don't see how VBScript could support output arguments to methods.

I worked around the problem by creating a new method with a single input argument, and the method sets properties that correspond to the output arguments.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date