>While we're on the subject, what other languages have access/assign methods? Is that another thing compiled languages can't have?
PropertySet and PropertyGet are actually access/assign methods, and I've seen in VB that they are the preferred (or only?) method of accessing object's properties from outside code. And that's probably what they have
instead of direct access to objects' properties, as the names of the properties are not available once the thing is compiled.
>>>But my first reaction is that VB/VBA uses FUNCTION "string expression" for a lot of commands where VFP uses COMMAND stringwithoutquotes and therefore doesn't need macro expansion or EVAL().
>>
>>Example?
>
>Good ol' SELECT-SQL. In VFP we have to use & or EVAL() to build strings dynamically for our SQL. (I forget now whether EVAL() works with SELECT-SQL). VBA uses DoCmd.RunSQL("stringexp"), so you can build the stringexp according to convenience.
SQL statement is forwarded to the SQL engine - and interpreted there. I'm more curious about how it passes parameters. In VFP, you can always have
lcParameter="some value"
SqlExec(nHandle, [select * from mytable where xField=?lcParameter])
and VFP's SqlExec function will jump in and replace the actual value of lcParameter into the select string (or use any other method of passing this value to the backend). In VFP this is possible because it's not truly compiled and all the variable names are available; I figure a thing like this would be a problem, or the parameters would need a special way of getting passed... which makes me more curious but not to the point of taking several hours to build an example or search the VB help.