MESSAGE

Reenvía la llamada a un método a otro método.

Syntax

MESSAGE <NombreMensaje> METHOD <NombreMétodo>( [<params,...>] )
MESSAGE <NombreMensaje>() METHOD <NombreMétodo>( [<params,...>] )

Arguments

<NombreMensaje> El nombre del pseudo-método a definir.

<NombreMétodo> El método a crear y llamar cuando <NombreMensaje> es invocado. <params,...> Lista de parámetros opcionales para el método

Description

El comando MESSAGE es una característica rara vez usada, que permite re-enviar una llamada a un método con un nombre diferente. Esto puede ser necesario si el nombre de un método entra en conflicto con una función pública que necesita ser llamada desde adentro de un método de la Clase.

Por ejemplo, se puede tener una función pública llamda BeginPaint() que es usada para pintar las ventanas. Podría ser natural también tener un método de la Clase Ventana, llamado :BeginPaint() que la aplicación pueda llamar. Pero dentro del método de la Clase uno podría no estar habilitado para llamar a la función pública porque, los métodos internos están basados en funciones estáticas (las que ocultan funciones públicas con el mismo nombre)

El comando MESSAGE permite crear el verdadero método con un nombre diferente (::xBeginPaint()), y aún permitir la sintaxis ::BeginPaint() para llamar a ::xBeginPaint(). Este entonces es libre de llamar a a la función publica BeginPaint().
Examples
      CLASS TWindow
         DATA   hWnd, nOldProc
         METHOD New( )  CONSTRUCTOR
         MESSAGE BeginPaint METHOD xBeginPaint()
      ENDCLASS
Status

Ready

Compliance

MESSAGE es una extensión de Harbour.

Platforms

Todas

See Also