« Employ "white space" in your code | Main | Character (string, text) delimiters »
September 04, 2008
Best practices when macro substituting
When working with macro substitutions …
1) bring “closure” to them
Get in the habit of always “closing” your macro substitution with a period (“.”); for example:
&lcSQL.
That way, when you employ macro substitution as part of an object hierarchy, VFP will properly parse the line; for example, if you have a form with a commandbutton whose .Name is ' cmdButton':
The following code sets the .Caption of 'cmdButton' to 'Process':
LOCAL lcCommandButton
lcCommandButton = 'cmdButton'
ThisForm.&lcCommandButton..Caption = 'Process' && Two (2) periods before .Caption
whereas the following code triggers a “Property CMDBUTTONCAPTION is not found” error:
LOCAL lcCommandButton
lcCommandButton = 'cmdButton'
ThisForm.&lcCommandButton.Caption = 'Process' && Only one (1) period before .Caption
2) don’t embed them
lcControlName = 'cmdButton'
Replace the cryptic, embedded macro substitution:
? 'oForm.&lcControlName.'
with the following, easier-to-read (and, therefore, easier-to-maintain) code:
? 'oForm.' + m.lcControlName
(The above should run faster, too, since it does not employ macro substitution.)
Posted by abergquist on September 4, 2008 | Permalink
TrackBack
TrackBack URL for this entry:
http://www.typepad.com/t/trackback/384091/33103664
Listed below are links to weblogs that reference Best practices when macro substituting:




