AnsweredAssumed Answered

Go to Layout Name by Calculation fails to handle variables properly.

Question asked by dhafitch on Mar 23, 2012
Latest reply on Mar 26, 2012 by dhafitch

Summary

Go to Layout Name by Calculation fails to handle variables properly.

Product

FileMaker Pro

Version

11.0v4

Operating system version

Mac OS X 10.6.8 (Snow Leopard)

Description of the issue

Using a variable to designate the layout name fails to work in the Go to Layout (Layout Name by Calculation) script step.  The script only works when the variable is replaced with a string constant.

Steps to reproduce the problem

For example, I get the layout name (e.g. "test1") from a List in a Script Parameter and put that text value into a $layoutname variable.  This script is attached to a button on a "main page" layout.
Here is the script parameter:  List("test1";"Window One")
The layout with the button is called "TestDB".
The layout to open in a new window (called "Window One") when the button is clicked is called "test1".
The script is:
Set Variable [ $layoutname:  LeftValues(Get(ScriptParameter);1)) ]
Set Variable [ $windowtitle:  RightValues(Get(ScriptParameter);1)) ]
New Window [ Name: $windowtitle ]
Go to Layout [ $layoutname ]
Enter Browse Mode []
Vew As [ Form ]

Expected result

The script is supposed to use the variables obtained from the ScriptParameter to designate the title for a new window and go to the layout named by the $layoutname variable.

Actual result

Instead, the new window displays another instance of the "main page" layout instead of the "test1" layout named by the variable.
If the variable is replaced by the string constant "test1" in the script calculation, the correct "test1" layout opens.
(There is no problem with opening and applying the title to the new window.)

Exact text of any error message(s) that appear

No error message.

Configuration information

I can send a sample .fp7 file.

Workaround

No workaround.  I want to use ONE script to open different layouts with different window titles by clicking different buttons.  Using a custom ScriptParameter for each button should allow this.

Outcomes