« 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/services/trackback/6a00d8341fba8753ef00e554e2e8598833
Listed below are links to weblogs that reference Best practices when macro substituting:
Comments
Nice points... thanks for making it simple...
Posted by: net software development | May 13, 2009 3:53:39 AM
The comments to this entry are closed.




