How To Pass A Value To A Class Method's Variant Parameter

Code
#COMPILE EXE
#DIM ALL
#DEBUG ERROR ON
#INCLUDE ONCE "WIN32API.INC"


CLASS cTestClass

    INTERFACE ITestClass : INHERIT IDISPATCH

        METHOD TestMethod(BYVAL MyVar AS VARIANT)

            STDOUT
            STDOUT "Variant Type" & STR$(VARIANTVT(MyVar))

            STDOUT

            'String
            IF VARIANTVT(MyVar) = 8 THEN
                STDOUT "It's a STRING"
                STDOUT "MyVar: " & VARIANT$(MyVar)

            'String Array
            ELSEIF VARIANTVT(MyVar) = 8200 THEN
                STDOUT "It's a STRING array"
                DIM a() AS STRING
                REDIM a(0)
                DIM i AS LONG
                a() = MyVar
                FOR i = 0 TO UBOUND(a)
                    STDOUT STR$(i) & ": " & a(i)
                NEXT i

            'Unknown
            ELSE
                STDOUT "It's unknown"

            END IF


        END METHOD

    END INTERFACE

END CLASS


FUNCTION PBMAIN () AS LONG

    DIM TestVar() AS STRING
    REDIM TestVar(1)
    TestVar(0) = "One"
    TestVar(1) = "Two"
    
    DIM TestVar2 AS STRING
    TestVar2 = "This is a string"

    DIM o AS ITestClass
    o = CLASS "cTestClass"

    o.TestMethod(TestVar())
    o.TestMethod(TestVar2)

END FUNCTION


The Captian
Today they call you "crazy". Tomorrow they call you "ahead of your time."
Global Skywatch Learn about Chemtrails - You're breathing them now!
OnlyTheBestHerbs.com World-class supplements
Mercury Talk Why you are sick.
OneUp Domains Domains, Hosting, Email
1-800-358-4278 (U.S. & Canada)