General

setexpression of a variable?

Started by shanekoss on .

Sign in or create an account to join the conversation.

6 posts

Topic starter
Hi - is this possible?

I am creating object names dynamically with the use of arraytostring, which normal works fine, but in this case - I want to be able to change global variables, but not sure how to go about it.

the variable is

LOOP1.lp

of course this works:

LOOP1.lp=1;

but i can't use that structure since i am repeating the function with this attempt assuming the expression name is the name of the global variable - in this case 'lp'

ll has been defined elsewhere (numerical version of LOOP)

decl i,ar,size=9;
for(i=0;i<size;i++){
ar=arraytostring({ll,i+49});
setattribute(findobject(ar),'lp',i+1);
}

any ideas?

thanks!
hi - thanks.

question though - if it is a created expression - what would the 'name' be?

normally you could say:

setexpression(Fader,'x',1);

but in this case - i don't know what the 'x' value would be.

I made a global expression:

Test=0

If i write into a script

Test=1;

that changes it, but how could i address the same expression with setexpression?

thanks!

shane
Hi guys,

It's not possible to use setexpression() for a global variable. A potential solution for your case would be to use a single variable as an array, instead of lots of vars with numbers in their names and calls to arraytostring.

Best,
Nicolas