JavaScript Editor js editor     Web development 



Main Page

Executes the parent class event or method of the same name from within a subclass.

For example, if you place DODEFAULT(В ) in the Click event of a subclass, Visual FoxPro executes the Click event of the parent class. The scope resolution operator (::), unlike DODEFAULT(В ), executes a parent class event or method of a different name.

Note:
You can place DODEFAULT(В ) only within an event or method.

DODEFAULT( [ eParameter1 [, eParameter2] ...] )

Parameters

eParameter1[, eParameter2] ...


Specifies parameters that are passed to the parent class event or method.

Return Value

Character, Numeric, Currency, Date, DateTime, Logical, or Memo

Remarks

The value that DODEFAULT(В ) returns is determined by the return value of the event or method.

In versions prior to Visual FoxPro 8.0, you could not call DODEFAULT(В ) in a method that did not exist in the parent class without Visual FoxPro generating an error, "Property name is not found (Error 1734)", returning True (.T.), and disregarding DODEFAULT(В ) and any passed parameters. However, Visual FoxPro now disregards this and does not generate an error, but the following results still occur:

  • Visual FoxPro disregards any parameters that are passed because no code is executed.

  • Visual FoxPro always returns True (.T.), which is the default behavior for any procedure without an explicit RETURN statement.

This behavior affects the following scenarios:

  • Custom methods that are defined in a class. For example, the line, x.Test(), generated an error prior to Visual FoxPro 8.0 but no longer does:

    В Copy Code
    CLEAR
    x=CREATEOBJECT("s1")
    x.ReadMethod("Init")      
    x.Test()                  
    
    DEFINE CLASS s1 AS Session
       PROCEDURE Test
          DODEFAULT()
       ENDPROC
       PROCEDURE ReadMethod(cMethod)
          DODEFAULT(cMethod)
       ENDPROC
       PROCEDURE Error(nError, cMethod, nLine)
          ? "Error:", nError, cMethod, nLine
       ENDPROC
    ENDDEFINE
  • Native methods that are marked with the HIDDEN key word in the parent class. For example:

    В Copy Code
    CLEAR
    x=CREATEOBJECT("s2")
    x.Test()
    
    DEFINE CLASS s2 AS s1
       PROCEDURE Test
          THIS.ReadMethod("Init")
       ENDPROC
       PROCEDURE ReadMethod(cMethod)
          DODEFAULT(cMethod)
       ENDPROC
    ENDDEFINE
    
    DEFINE CLASS s1 AS Session
       HIDDEN PROCEDURE ReadMethod(cMethod)
          DODEFAULT(cMethod)
       ENDPROC
       PROCEDURE Error(nError, cMethod, nLine)
          ? "Error:", nError, cMethod, nLine
       ENDPROC
    ENDDEFINE

Starting in Visual FoxPro 7.0, calling a native method in a base class that contains DODEFAULT(В ) does not cause an error. For example:

В Copy Code
CLEAR
x=CREATEOBJECT("s1")
x.ReadMethod("Init")

DEFINE CLASS s1 AS Session
   PROCEDURE ReadMethod(cMethod)
      DODEFAULT(cMethod)
   ENDPROC
   PROCEDURE Error(nError, cMethod, nLine)
      ? "Error:", nError, cMethod, nLine
   ENDPROC
ENDDEFINE

See Also



JavaScript Editor js editor     Web development