Hi Dojo,
I feel I'm close to the answer, but I can't quite get this to work.
I'm trying to set a second session variable, showing my talkback panel type when I set a talkback panel name in a session variable.
When I have a button with:
SetVar "TalkbackPanelType:[param:[var:TalkbackElement],3304,[Var:TalkbackPanelName]]"
Pressing the button updates the second variable correctly. But when I try to set the second variable with
Execute "Set|Variable|TalkbackPanelType|[param:[var:TalkbackElement],3304,[var:TalkbackPanelName]]|SetTrigger=ValueChanged" on the page level, the variable doesn't update.
As this question has now been open for a long time and there has been no further reaction from you, I will now close it. If you still want more information about this, could you post a new question?
I'm not sure if you can use the Execute shape data field to set the variable. The Set option is normally used to set parameters (docs). Can you let us know where you find that this is possible?
Something that might give you a headache is when the values that are filled by placeholders contain special characters that are used as separators (e.g. '|' or ':'). Let's assume that your value contains a '|', for example 'first|second'. Then if the placeholder is resolved it can use the resolved placeholder to split. This would mean if the param placeholder is resolved it would look like the following:
Execute
Set|Variable|TalkbackPanelType|first|second|SetTrigger=ValueChanged
To solve this you can replace the placeholder that is used in the shape data:
Execute
[Sep:|$]Set$Variable$TalkbackPanelType$[param:[var:TalkbackElement],3304,[var:TalkbackPanelName]]$SetTrigger=ValueChanged
Note: Other than that I can’t see anything wrong with the execute data quoted in the question, so probably indeed this is a matter of separators.
A good suggestion is to lift out the different placeholders and check which one is giving you issues.
Thanks for the input Michiel and Toon.
Unfortunately changing the separator hasn’t worked.
As a test I changed the Execute to “Set|Variable|TalkbackPanelType|[Var:TalkbackPanelName]|SetTrigger=ValueChanged” and this code worked. So there is an issue with looking up the table parameter based on my variable changing.
Ultimately what I am trying to achieve is to set parameter 3302 (using Control=Listbox) to a variable (TalkbackPanelName) and also set the second variable (TalkbackPanelType) from parameter 3304
What you can do for debugging is create a shape and as text on the shape (no shapedata) you put “[Param:[var:TalkbackElement],3304,[var:TalkbackPanelName]]”. Then you will know if this part resolves correctly. If not you can create another shape with “[var:TalkbackPanelName]” etc
Could you give us the output of each of the separate placeholders at the moment you want it updated? So the result of the 2 vars, but also the result of the param placeholder if you input the result of the vars statically inside it.
Hi Dave,
I see that this question has been inactive for some time. Do you still need help with this? If yes, could you answer Toon’s question below? Or if not, could you select the answer to indicate that the question is resolved?