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

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


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

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


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
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date