#define errInvalidPcount -1 #define errInvalidParameterType -2 ...Used throughout many, many procedures/functions/methods in parameter check portions of code. You may centralize parameter checks in some way, but at what cost? a central parameter check routine whould need to know the rules it must apply to the parameters it got. You may come up with something data driven. I think I stay with local parameter checks, reusing the same error numbers all over the place, but as easier to remember constant names.
#define coSomething This.oSomething #if .f. local coSomething as myClass of ...\myclasses.prg #endif coSomething. && intellisense jumps inEspecially if oSomething is added at runtime only.
#if Version(4) < "09.00" #define SomeNewFunction mySomenewfunction #endifWith this or some modification I can use new functions/parameters and still have the code downward compatible for older vfp versions, if I can write a function mySomenewfunction() that can replace the new one by just using available old functions/commands. I then don't need to avoid the new function to be downward compatible.