Lorsque vous travaillez sur une application 4D volumineuse, il est courant de répartir les fonctionnalités entre un projet hôte et plusieurs composants. Cette architecture modulaire permet de garder les choses claires, faciles à organiser et à maintenir, mais elle peut également poser un défi : déterminer où une méthode est utilisée.
Depuis 4D 21, une amélioration majeure a rendu ce workflow encore plus fluide : vous pouvez désormais modifier le code source d’un composant directement à partir du projet hôte, sans changer de contexte. Et avec 4D 21 R2, la boîte de dialogue Rechercher dans la conception a été améliorée pour permettre d’effectuer des recherches non seulement dans le projet hôte, mais aussi dans tous les composants accessibles créés en mode projet dont le code source est disponible.
Recherche dans le projet hôte et ses composants
L’amélioration la plus importante est la possibilité d’effectuer une recherche non seulement dans le projet hôte, mais aussi dans tous les composants accessibles.
Vous pouvez désormais choisir exactement où effectuer la recherche :
-
Projet hôte uniquement
-
Un composant
-
Projet hôte et tous les composants accessibles

Résultats de la recherche
Chaque résultat provenant d’un composant inclut désormais le nom du composant entre parenthèses. Les infobulles ont également été améliorées. Lorsque vous survolez une ligne de résultat, l’infobulle inclut le nom du composant.

Exportations de recherche
De nombreux utilisateurs souhaitent traiter les résultats de recherche en externe à des fins d’audit, de génération de documentation ou de révision de code. Pour répondre à ce besoin, les résultats de recherche exportés incluent désormais le nom du projet ou du composant auquel appartient chaque élément trouvé dans la première colonne :
{
"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
Conclusion
Ces évolutions améliorent considérablement l’exploration, la refactorisation et la maintenance du code, en particulier dans les architectures modulaires construites autour de composants. Si vous travaillez avec des configurations multi-projets, ces améliorations vous feront gagner du temps, réduiront les erreurs et vous donneront une vue d’ensemble plus claire de la structure de votre application.
