-
Jul 15th, 2018, 04:00 PM
#1
Thread Starter
New Member
I have a function in VB6 where I am trying to return a string from the function
So here is a code snippet. The error I am getting is "Function call on left side of assignment must return Variant or Object". I changed the function return to a variant data type, but that did not help.
I am trying to generate a random string using function calls. Because it is a large number of sub tables I want to maintain the tables separated like so instead of in a single long series of code for ease of maintainability.
If this is not viable, can anyone suggest an alternative method of doing this?
Private Function GenAstStrategicResouce() As Variant
Dim X As Integer
X = Int((200 * Rnd) + 1)
If X < 10 Then
GenStrategicResouce = "Bose-Einstein Condensates"
ElseIf X < 20 Then
GenStrategicResouce = "Diamonds"
End If
End Function
-
Jul 15th, 2018, 04:06 PM
#2
Re: I have a function in VB6 where I am trying to return a string from the function
Code:
Private Function GenAstStrategicResouce() As Variant
Dim X As Integer
X = Int((200 * Rnd) + 1)
If X < 10 Then
GenStrategicResouce = "Bose-Einstein Condensates"
ElseIf X < 20 Then
GenStrategicResouce = "Diamonds"
End If
End Function
See bolded. Your names are mismatched, the variable name needs to match the function name.
-
Jul 15th, 2018, 05:58 PM
#3
Re: I have a function in VB6 where I am trying to return a string from the function
Also if you want to return a string you should probably change Variant to String on that first line.
A side from that is the intention not to return anything 90% of the time? If not then you may want to look at the logic a bit.
-
Jul 16th, 2018, 12:35 PM
#4
Re: I have a function in VB6 where I am trying to return a string from the function
Yes, just to follow-up on Data's comment, if X >= 20 then you'll return an Empty type Variant. And it's not at all clear that that's what you'd want. If the function were declared as a String, then you'd return a zero-length-string. Or, another alternative is to add an Else with a GenAstStrategicResouce = vbNullString statement in it.
And, as Option stated, fix your name-mis-matches.
Good Luck,
Elroy
Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|