Visual Foxpro allows you to create a class that inherits behavior from another class. This includes properties, events and methods. The base class could have a method like this:
LPARAMETERS strParm as string, nParm2 as Integer
When designing the subclass in the class designer, VFP will automatically show the inherited parameters. VFP6 obtained this information from the compiled base class info. However, the compiled code has no information on parameter cAse, which users understandably wanted to preserve. So it was changed for VFP7 to obtain the parameter info from the base class source code, which has the cAse information.
TrevorH has this repro code. Run it and you won’t see the base class parameters. Comment out the “REPLACE METHODS” line and you will.
LOCAL lcThisDir AS STRING
lcThisDir = ADDBS(JUSTPATH(SYS(16)))
IF VERSION(5) >= 800
CLEAR CLASSLIB ParamTstLib
CLEAR CLASSLIB ParamTstLib2
CATCH TO foo
CREATE CLASS FormBase OF
_CLIPTEXT = 'LaunchForm'
ASELOBJ( laClass, 1 )
laClass.WRITEMETHOD( 'LaunchForm', 'LParameters tcClassID' )
REPLACE METHODS WITH ''
CLOSE DATA ALL
COMPILE CLASSLIB ParamTstLib.VCX
CREATE CLASS FormChild OF ParamTstLib2 AS FormBase FROM ParamTstLib NOWAIT
MODIFY CLASS FormChild OF ParamTstLib2 METHOD LaunchForm NOWAIT