Durante la fase de desarrollo, la detección temprana de errores sintácticos es importante para producir código de calidad. La comprobación de código en tiempo real es una valiosa ayuda para los desarrolladores. No sólo mejora la eficacia, sino también la calidad y aumenta la productividad. Al corregir los errores inmediatamente, puede concentrarse en el desarrollo funcional de su aplicación, en lugar de en los molestos bugs que aparecen durante la compilación.
Con 4D 20 R8, estamos encantados de introducir dos nuevas funcionalidades que transformarán su forma de trabajar.
- La primera es la posibilidad de asociar una clase a un formulario, permitiendo la verificación de sintaxis con expresiones como Form.myProperty.
- La segunda es una verificación en tiempo real de las expresiones en la lista de propiedades, con una descripción del error o advertencia mostrada.
Asociar una clase a un formulario
Ahora puede asociar una clase de usuario a un formulario utilizando el nuevo atributo «Form class«. Este atributo permite escribir el objeto devuelto por el comando Form permitiendo el uso de expresiones como Form.myProperty. La clase usuario puede provenir del proyecto local o de un componente.
Instanciación automática en tiempo de ejecución
Al abrir un formulario, puede pasar un objeto al comando DIALOG. Este objeto se convierte entonces en accesible dentro del formulario a través del comando Form.
El objeto pasado al comando DIALOG puede ser una instancia de una clase. Así es como puede proceder:
var $h : Integer
var $o : cs.Person
$o :=cs.Person.new()
$h :=Open form window("FormWithClass")
DIALOG ("FormWithClass"; $o)
A partir de la versión 4D 20 R8, si define la propiedad «Form class» en el formulario sin pasar un objeto al comando DIALOG, 4D se encarga automáticamente de la instanciación. Simplemente escriba:
var $h : Integer
$h :=Open form window("FormWithClass")
DIALOG ("FormWithClass")
El comando Form devuelve un objeto que es una instancia de la clase «Person». Puede comprobarlo en el formulario con el comando OB Instance of.
$n:=OB Instance of(Form; cs.Person)
Ahora, puede llamar a una función de la clase simplemente escribiendo: «Form.message()».
Ventajas para el editor de código
Función de autocompletado
El comando Form se beneficia del autocompletado en el editor de código. Escribiendo «Form.», 4D sugerirá todas las propiedades y funciones declaradas en la clase asociada. Se acabó invertir dos letras en el nombre de una propiedad o utilizar una minúscula en lugar de una mayúscula en el nombre de una función.
Por ejemplo, con nuestra simple clase «Person» definida de la siguiente manera:
property firstname : Text
property lastname : Text
property email : Text
Class constructor
This .firstname:=""
This .lastname:=""
This .email:=""
Function get fullname () : Text
return This .firstname+" "+This.lastname
Al utilizar el comando Form dentro de un método de formulario, el editor de código le ofrece una lista precisa para completar su código:
VERIFICar sintaxis
Cuando utilice expresiones del tipo «Form.myProperty» en el método del formulario, o en los métodos de los objetos de formulario, se beneficiará del poder del verificador de sintaxis.
Tomemos el ejemplo de la clase anterior. En el código del método del formulario, nosotros:
- forzamos un entero en un atributo de texto,
- usamos un atributo desconocido,
- asignamos un entero a un atributo calculado de tipo texto.
En la siguiente imagen, puede ver que el editor de código ha identificado eficazmente los errores o advertencias.
Ventajas para el editor de formularios
VERIFICación de sintaxis integrada en la lista de propiedades
La verificación de sintaxis ya no se limita al editor de código. Esta funcionalidad se extiende a las expresiones de la lista de propiedades (como «Datasource» o «Meta info expression«). Como resultado, recibirá notificaciones inmediatas de errores y advertencias.
No es necesario esperar a los resultados de la compilación para descubrir errores. Gracias a esta función, estará informado ya en la fase de edición.
Compilación
Por supuesto, si no ha resuelto los nuevos errores directamente, el compilador los detectará durante el proceso de compilación.
Diálogo del compilador
Todas las advertencias y errores se mostrarán en la ventana de compilación. Si hace doble clic en una expresión de objeto de formulario, se abrirá el formulario correspondiente, resaltando el objeto problemático y su propiedad en la lista de propiedades.
Comando Compilar proyecto
En caso de fallo de compilación, el comando Compile project devuelve un objeto con advertencias y errores. El comando también se ha ampliado para devolver advertencias o errores detectados en las expresiones de objetos de formulario.
{ "éxito":false "errores":[{ "message": "Propiedad no declarada 'firstName' utilizada. (550.26)", "isError":false, "code":{ "type": "formObjectExpression", "formName": "Persona", "objectName": "NombreDeEntrada", "propertyName": "fuenteDatos", "archivo":"[objeto Archivo]" } }] }
Próximos pasos
Estas nuevas funciones harán que escribir código sea más fácil y eficiente.
No dude en compartir sus experiencias con estas mejoras. Sus comentarios son muy valiosos para ayudarnos a entender cómo le ayudan estas herramientas en su día a día, y para adaptarlas mejor a sus necesidades.