>>>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.
I strongly suggest you to use "_.prg" (
https://github.com/nftools/underscore )
With it you can get rid of addproperty, and instead just do:
set path to "..\underscore" addititive
oEmpty = CREATEOBJECT("empty")
with _( m.oEmpty )
.return_success = .T.
.string1 = "abc"
.string2 = 123
endwith
@nfoxdev
github.com/nfoxdev