0

The FileMaker rapid application development system contains these components:

  • base tables
  • base table fields
  • table occurrences
  • relationships
  • scripts
  • script steps
  • script variables
  • script step parameters
  • calculations
  • layouts
  • layout fields
  • script triggers on layout fields
  • script triggers on other events

Some of these are objects with internal FileMaker objectIDs. For example, if I delete an entire script and replace it with one of the same name, links from script triggers to the script will be broken. This suggests a pass-by-reference behavior.

However, when replacing the entire contents of a script with the contents of another script (even from another database file), the script step parameters and calculations will not be broken. This suggests that the contents of the script are provided in a pass-by-value fashion. However, if a table occurrence is renamed, the script step parameters in that script will still function. This suggests pass-by-reference.

Is a meta-model of FileMaker (a) relatively complicated such that it's difficult to keep track of what's pass-by-reference or pass-by-value, or (b) not something that can be classified into these two categories. If (b) is the case, can anyone recommend a different way to think about this?

For other programming languages and database systems, I think my questions are well answered:

Is Java "pass-by-reference" or "pass-by-value"?

Is JavaScript a pass-by-reference or pass-by-value language?

Is Ruby pass by reference or by value?

How do I pass a variable by reference?

Community
  • 1
  • 1
Bobby
  • 1,585
  • 3
  • 19
  • 42
  • I am not sure what is the practical application of this question. FileMaker Pro is a Development Environment and not a language. You mentioned the other database system, but all the links are to programming languages. – Nicolai Kant Nov 06 '16 at 13:12
  • The motivation is alluded to in the question but not explained in detail. Should I expand it? Recently I replaced a script with one of the exact same name. All of the script triggers that previously worked were then suddenly pointing to '<>'. I could either memorize that I shouldn't do this in the future or I could try to understand the reason why and then avoid this and also potentially other similar problems. On the other hand, replacing the entire contents of a script or the entire contents of a layout is no problem. – Bobby Nov 06 '16 at 15:01
  • I still fail to see how comparing a development environment to a language is going to help you. If you need to compare behaviour, you would be better off looking at other DBMS instead. – Nicolai Kant Nov 07 '16 at 21:19

0 Answers0