Page 1 of 1

Unable call "class variable" from "variable"

Posted: 19 Oct 2019, 02:48
by holahapi
It works in normal variables, but not in class variable.
Is there a way to make it work?

I think it is the problem of the ".", also tried use "`.", not working either.

Code: Select all

Class VarContainer
	{
	static vv_TestVar
	}



VarContainer.vv_TestVar := "Default"
msgbox % VarContainer.vv_TestVar

; RESULT:
; Default
; -------------------------------------------------------------

temp3 := "Default"
temp1 = temp3
%temp1% := "NEW"
msgbox % temp3

; RESULT:
; NEW
; -------------------------------------------------------------


VarContainer.vv_TestVar := "Default"
temp1 = VarContainer.vv_TestVar
%temp1% := "NEW"
msgbox % VarContainer.vv_TestVar

; RESULT:
; Error:  The following variable name contains an illegal character:
; "VarContainer.vv_TestVar"

Re: Unable call "class variable" from "variable"

Posted: 19 Oct 2019, 02:59
by Helgef
use obj[ expr ] := val. Eg,

Code: Select all

obj := {}
temp := "a"
obj[ temp ] := 123
msgbox % obj["a"] ; or obj.a
Cheers.

Re: Unable call "class variable" from "variable"

Posted: 19 Oct 2019, 09:26
by holahapi
Helgef wrote:
19 Oct 2019, 02:59
use obj[ expr ] := val. Eg,
Thank you, I dont know object before.
It also works in class variable too.
Thanks

Code: Select all

Class VarContainer
	{
	static vv_TestVar
	}


VarContainer.vv_TestVar := "Default"
temp1 = vv_TestVar
VarContainer[temp1] := "NEW"
msgbox % VarContainer[temp1]

; RESULT:
; Error:  The following variable name contains an illegal character:
; "VarContainer.vv_TestVar"