>>>>Hi,
>>>>
>>>>I need a method of a object to return some strings (actually two). I can declare the variables as Private before calling the method and set the values of the variables inside the method.
>>>>Or I can declare the variables Local and pass them by reference (with @). Therefore, when passing by reference the variable value can be set within the method and afterward get the value.
>>>>What is better practice?
>>>
>>>Return an object based on empty with properties storing return values. This way you can return as many strings or not strings as you want
>>
>>I just did a little test. And it appears that creating an empty object is fairly simple
>>
>>oEmpty = CREATEOBJECT("empty")
>>ADDPROPERTY( oEmpty, "return_success",.T.)
>>ADDPROPERTY( oEmpty, "string1","abc")
>>ADDPROPERTY( oEmpty, "string2","123")
>>oEmpty.return_success = .F.
>>RETURN
>>
>>
>>Thank you.
>
>Because this is a really common functionality, I created a class with 10 standard properties (Value1 - Value10) and a property for Success. I use it everywhere:
>
>LOCAL loInfo AS Info OF Utils.vcx
>loInfo = NEWOBJECT("Info", "Utils.vcx")
>loInfo.Value1 = 123
>loInfo.Value2 = "Test"
>
>THIS.CalculateEtc(m.loInfo)
>
>IF loInfo.Success
> Messagebox(loInfo.Value2)
>ENDIF
Thank you for your input.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham