I am now very confused. I just set up a test case duplicating one situation
I had done before and now it works. I had just spent several hours proving
last time that it did not work and then converting the subscript calls to
inline code.
I did see, however, the "perform script" check box defaulted to checked
whenever the perform statement calls another db. I had noticed it before and
since it is always checked by default I know I never fiddled with this
option.
By "Set up a layout....." I mean that I manually set up all conditions just
as though I had performed Script 1
I noticed that if a step requires access to a field and the field is not
there, then the Script Editor will show an error, "Field Missing" before I
even save the script. So that event is unlikely. The scripts I was writing
did not use the Error Capture statement.
One thing I do notice is that running a duplicate of the system from another
Windows folder can cause major problems. I tried making a duplicate data
base as a backup and switching between them to compare "before and after"
results. FMP gets all mixed up between DBs. It remembers that last instance
of a DB and if it happens to be from the other folder, it will open that DB
and use the scripts from there. Not a good idea. In my current situation I
was careful to not run both systems.
I did verify that the subscript was not firing by putting in a "Show
Message" statement which never displayed. I tired very hard to figure out
why since I did not want to convert all my subscript calls to inline code
which was a big pain in the neck.
----- Original Message -----
From: "Steve Cassidy" <[email protected]>
To: <[email protected]>
Sent: Wednesday, May 26, 2010 3:29 AM
Subject: Re: Subscript calling depth
Nicolas
I'm not sure what you mean by "Set up a layout so it looks like what the
File A, Script 1 from the above example would accomplish", since layouts
don't really accomplish anything. However, this hints to me that maybe
the absence or presence of a particular layout in File B may be affecting
the situation. How could that be?
The most likely scenario is that your File B, Script 5 includes a script
step that requires access to a field (on a layout) and error capture is
activated. Certain script steps do indeed need this (such as Paste and
Replace). If the field is not there, the step just generates an error and
the script will continue (if error capture is on).
Have you verified that File B, Script 5 actually does not run when called
as a subscript? Or does it perhaps run but generate an error? Verify this
by adding Beep step(s) to the script or some other indicator. There is a
big difference between running (and failing) and not running at all. It
would be good if you could assure us one way or the other.
Steve