Sign in to follow this  
Followers 0
Shastaman

Pass an array to a function?

4 posts in this topic

Trying to pass an array to a function, but it doesn't like function declaration. Realize the example declares it as global but I want to pass in different arrays so I don't want to specify specific array name in function.

Dim $bob[2]

$bob[0] = "Hey 1"

$bob[1] = "Hey 2"

SendArray($bob)

Func SendArray($funcArray[])

MSgbox(0, "funcArray 0 in function", $funcArray[0])

MSgbox(0, "funcArray 1 in function", $funcArray[1])

EndFunc

Share this post


Link to post
Share on other sites



Dim $bob[2]

$bob[0] = "Hey 1"
$bob[1] = "Hey 2"

SendArray($bob)


Func SendArray($funcArray)

MSgbox(0, "funcArray 0 in function", $funcArray[0])
MSgbox(0, "funcArray 1 in function", $funcArray[1])

EndFunc

It just has to work. Remember that arrays are variables too. So no need for the "[]" when passing the whole array.

Share this post


Link to post
Share on other sites

One note:

Consider ByRef for speed optimization reason.

Func SendArray($funcArray)

Func SendArray(ByRef $funcArray)

If you don't use ByRef then input array is COPIED to local variable (param)

If you use ByRef then no COPY is performed.

Share this post


Link to post
Share on other sites

Thanks.

I thought I would have to specify I was passing an array but, likely due to the variant type, it doesn't need this specificity.

Thanks all

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0