PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Presentación
  • Crear una propiedad personalizada
  • ¿Cómo proceder?
  • Ejemplo
  • Consejo
  • Permisos de acceso a una propiedad personalizada
  • Pasar propiedades personalizadas como parámetro a una función o procedimiento WLanguage
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Presentación
Una propiedad personalizada es un elemento de código con dos eventos:
  • un evento para recuperar el valor,
  • un evento para asignar el valor.
Una propiedad personalizada se puede utilizar como variable o miembro (recuperación directa del valor, asignación con el símbolo '=', etc.). En tiempo de ejecución:
  • Cualquier operación que requiera la lectura de la propiedad ejecuta el evento para recuperar el valor. Este evento debe devolver un valor.
  • Cualquier operación que requiera la escritura de la propiedad ejecuta el evento para asignar el valor. Este evento debe procesar un parámetro.
Se pueden crear propiedades personalizadas en los siguientes elementos:
  • modelos de controles.
  • modelos de ventanas.
  • ventanas.
  • ventanas internas.
  • páginas.
  • páginas internas.
  • modelos de páginas.
Crear una propiedad personalizada

¿Cómo proceder?

Para crear una propiedad personalizada:
  1. Abra el panel "Explorador de proyectos" (en la pestaña "Home", en el grupo "Environment", despliegue "Panes" y seleccione "Explorador de proyectos").
  2. En el panel "Explorador de proyectos", vaya al elemento en el que desea agregar una propiedad personalizada.
  3. Seleccione el elemento deseado. Abra el menú contextual del elemento y seleccione "Nueva propiedad".
  4. En la ventana que aparece, introduzca el nombre de la propiedad y valide.
  5. El editor de código muestra los eventos relacionados con la propiedad :
    • Evento "Recuperación de la propiedad". Este evento debe contener la palabra clave "RESULT" (o "RETURN =") para devolver el valor de la propiedad.
    • Evento "Asignación de la propiedad". Este evento se permite dar un valor a la propiedad. Este valor se pasa como parámetro. Este evento no debe devolver resultados.
  6. Introduzca el código de la propiedad.
  7. Introduzca el código para llamar a la propiedad personalizada en el elemento deseado.

Ejemplo

  1. Crear una propiedad personalizada para un modelo de controles modelo que devuelve la duración:
    PROCEDURE PUBLIC Duration()
    RESULT DateDifference(EDT_Start_date, EDT_End_date)
  2. Esta propiedad del modelo se llamará en el código de la ventana:
    Info("The number of days selected is: " + CTPL_Duration..Duration)

Consejo

Se puede sobrescribir una propiedad WLanguage existente. En este caso, se ejecutará el código de la propiedad personalizada.
Para acceder a la propiedad original en el código de la propiedad personalizada, utilice la siguiente sintaxis:
MySefl..<Original property>
Ejemplo: Asignar la propiedad ToolTip:
PROCEDURE ToolTip(Value)
 
MySelf..ToolTip = "Number of days: " + Value
Permisos de acceso a una propiedad personalizada
Atención: Se puede acceder a la propiedad personalizada en modo de lectura y/o escritura dependiendo de los eventos asociados que se hayan definido:
  • Si el evento "Recuperación de la propiedad" está vacío, no se pude leer la propiedad. Si se realiza una lectura, se muestra un error de compilación en el editor de código. También se producirá un error en tiempo de ejecución.
  • Si el evento "Asignación de la propiedad" está vacío, no será posible escribir en la propiedad. Si se realiza una operación de escritura, se muestra un error de compilación en el editor de código. También se producirá un error en tiempo de ejecución.
Pasar propiedades personalizadas como parámetro a una función o procedimiento WLanguage
Los diferentes casos se muestran a continuación.
Si el parámetro es no tipado y se pasa por referencia (caso predeterminado) :
  • la propiedad personalizada se pasa como parámetro.
  • no se ejecutan eventos asociados a la propiedad personalizada durante la llamada.
  • la lectura del parámetro formal ejecuta el evento "Recuperación de la propiedad".
  • la escritura del parámetro formal ejecuta el evento "Asignación de la propiedad".
Si el parámetro es no tipado y se pasa por valor (LOCAL) :
  • el valor de la propiedad personalizada se pasa como parámetro.
  • el código de recuperación del valor se ejecuta durante la llamada.
  • la lectura del parámetro formal accede al valor pasado durante la llamada y no ejecuta el evento "Recuperación de la propiedad".
  • la escritura del parámetro formal modifica el valor pasado durante la llamada y no ejecuta el evento "Asignación de la propiedad".
Si el parámetro es tipado y se pasa por referencia (caso predeterminado) :
  • la propiedad personalizada se pasa como parámetro.
  • el tipo de la propiedad debe ser correcto. De lo contrario, se produce un error WLanguage.
  • no se ejecutan eventos asociados a la propiedad durante la llamada.
  • la lectura del parámetro formal ejecuta el evento "Recuperación de la propiedad".
  • la escritura del parámetro formal ejecuta el evento "Asignación de la propiedad".
Si el parámetro es tipado y se pasa por valor (LOCAL) :
  • el valor de la propiedad personalizada se pasa como parámetro.
  • el evento "Recuperación de la propiedad" se ejecuta durante la llamada.
  • si es necesario, el valor de la propiedad se convierte en el tipo del parámetro.
  • la lectura del parámetro formal accede al valor pasado durante la llamada y no ejecuta el evento "Recuperación de la propiedad".
  • la escritura del parámetro formal modifica el valor pasado durante la llamada y no ejecuta el evento "Asignación de la propiedad".
Minimum version required
  • Version 25
This page is also available for…
Comments
Click [Add] to post a comment