Cuando se trabaja en una aplicación 4D de gran tamaño, es habitual dividir la funcionalidad entre un proyecto local y varios componentes. Esta arquitectura modular mantiene las cosas limpias, fáciles de organizar y mantener, pero también puede plantear un reto: averiguar dónde se utiliza un método.
Desde 4D 21, una importante mejora ha facilitado aún más este flujo de trabajo: ahora se puede editar el código fuente de un componente directamente desde el proyecto principal, sin cambiar de contexto. Y con 4D 21 R2, el cuadro de diálogo Buscar en el diseño se ha mejorado para buscar no solo en el proyecto principal, sino también en todos los componentes accesibles creados en modo proyecto con su código fuente disponible.
Buscar en el proyecto principalES y sus componentes
La mejora más importante es la posibilidad de realizar una búsqueda no solo en el proyecto principal, sino también en todos los componentes accesibles.
Ahora puede elegir exactamente dónde buscar:
-
Solo en el proyecto principal
-
Un componente
-
Proyecto principal junto con todos los componentes accesibles

Resultados de la búsqueda
Cada resultado procedente de un componente incluye ahora el nombre del componente entre paréntesis. También se han mejorado las descripciones emergentes. Al pasar el cursor por encima de una línea de resultados, la descripción emergente incluye el nombre del componente.

Exportaciones de LA búsqueda
Muchos usuarios desean procesar los resultados de búsqueda externamente para realizar auditorías, generar documentación o revisar código. Para facilitar esta tarea, los resultados de búsqueda exportados ahora incluyen el nombre del proyecto o componente al que pertenece cada elemento encontrado en la primera columna:
{
"type": "text",
"in": "'My host project' and components",
"operator": "contains",
"what": "alert",
"caseSensitive": false,
"searchInForms": true,
"searchInMethods": true
}
DateTimeComponent class [class]/Class8 method ALERT("function test") 2
Mycomponent projectMethod MyComponentMethod method ALERT("Hello") 1
Mycomponent class [class]/MyComponentClass method Function alert($myAlert : Text) 1
Mycomponent class [class]/MyComponentClass method ALERT($myAlert) 2
Conclusión
Estas evoluciones mejoran significativamente la exploración, la refactorización y el mantenimiento del código, especialmente en arquitecturas modulares construidas en torno a componentes. Si trabaja con configuraciones multiproyecto, estas mejoras le permitirán ahorrar tiempo, reducir errores y obtener una visión general más clara de la estructura de su aplicación.
