>Hi Dan,
>
>Well, I did something unthinkable...I RTFM< g >. While the documentation states that creation of the constant occurs at compile time, I think that something else it says probably applies. "
Important Do not use system variables for eExpression. System variables are not evaluated until run time." I have a feeling that creating a constant using native functions causes the interpreter to execute whatever code is associated with the constant at run-time.
This is exactly what I want to happen - evaluation at run-time, not at compile-time. I also hope other functions are not evaluated until run-time. Thinking about this further, this does make sense. The compiler will literally substitute SYS(5) + SYS(2003) for every occurrence of DEFAULT_PATH. Because this is a direct substitution, it will not replace the constant with the compile-time evaluation of the 2 functions.
The concept is that we can remember the name of a constant but not its value or how its value is derived. Same goes for MB_ICONSTOP. I know this will use the Stop sign icon in the messagebox, but no way could I tell you its value without looking it up.
Mark McCasland
Midlothian, TX USA