Jump to content

  •  

Photo

Global vs Local Variables


  • Please log in to reply
2 replies to this topic

#1 JonAgnew  member

JonAgnew
  • Members
  • 16 posts
  • FM Application:11 Advance
  • Platform:Mac OS X Snow Leopard
  • Skill Level:Novice
  • Membership:TechNet
  • Time Online: 1d 2h 1m 26s

Posted 15 February 2012 - 02:37 PM

Hey, guys. Just a quick question for clarification. I have a script that involves a lot of IF statements. I want to make a sub-script that I can call via Perform Script, so I don't have to have a 1000 line script. If I set variables in the main script that I want to use in the sub-script, do I need to set those to global variables?
  • 0

#2 dansmith65  veteran

dansmith65
  • Members
  • 859 posts
  • LocationB.C. Canada
  • Certification:8, 11, 12, 13
  • Membership:TechNet
  • Time Online: 15d 2h 23m 10s

Posted 15 February 2012 - 03:15 PM

If you were to use variables, yes.

An alternative would be to pass the values to the sub-script in the script parameter, but if you want to pass multiple values, then you will need a method to manage that. There are plenty of options for this, my preferred method is: http://sixfriedrice....nary-functions/
  • 0

#3 Fitch  Imaginary friend

Fitch
  • Moderators
  • 4,037 posts
  • LocationPortland, Oregon
  • FM Application:13 Advance
  • FMGo:iPhone / iPod Touch, iPad
  • Platform:Cross Platform
  • Skill Level:Expert
  • Certification:7, 8, 9, 10, 12, 13
  • Membership:TechNet
  • Time Online: 16d 12h 51m 28s

Posted 16 February 2012 - 12:50 PM

It's OK to use global variables, but... If you do, keep in mind that they are file-specific, so it won't work if the sub-script is in a separate file. Another potential drawback is that you have to clean up after yourself, as a persistent value in a global variable could have unintended consequences.

For those reasons, I generally prefer to pass script parameters as Dan suggested. I use this method, which is a little simpler than the 6FR way, which requires a function both to send and receive the params. The one I use only uses a function to receive the params.
  • 0
Tom Fitch :: Portland, Oregon :: Fitch & Fitch: FileMaker consulting




FMForum Advertisers