Ao trabalhar em uma grande aplicação 4D, é comum dividir a funcionalidade entre um projeto host e vários componentes. Essa arquitetura modular mantém as coisas organizadas, fáceis de organizar e manter, mas também pode criar um desafio: descobrir onde um método é usado.
Desde o 4D 21, uma grande melhoria tornou esse fluxo de trabalho ainda mais suave: agora você pode editar o código-fonte de um componente diretamente do projeto host, sem mudar de contexto. E com o 4D 21 R2, a caixa de diálogo Localizar no Design foi aprimorada para pesquisar não apenas dentro do projeto host, mas também em todos os componentes acessíveis criados no modo de projeto com seu código-fonte disponível.
Pesquisar no projeto host e seus componentes
A melhoria mais importante é a capacidade de realizar uma pesquisa não apenas no projeto host, mas também em todos os componentes acessíveis.
Agora você pode escolher exatamente onde pesquisar:
-
Apenas no projeto host
-
Um componente
-
Projeto host junto com todos os componentes acessíveis

Resultados da pesquisa
Cada resultado proveniente de um componente agora inclui o nome do componente entre parênteses. As dicas de ferramentas também foram aprimoradas. Ao passar o mouse sobre uma linha de resultado, a dica de ferramenta inclui o nome do componente.

Exportações de pesquisa
Muitos usuários desejam processar os resultados da pesquisa externamente para auditoria, geração de documentação ou revisão de código. Para oferecer suporte a isso, os resultados da pesquisa exportados agora incluem o nome do projeto ou componente ao qual cada item encontrado pertence na primeira coluna:
{
"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
Conclusão
Essas evoluções melhoram significativamente a exploração, a refatoração e a manutenção do código, especialmente em arquiteturas modulares construídas em torno de componentes. Se você trabalha com configurações de vários projetos, essas melhorias economizarão tempo, reduzirão erros e fornecerão uma visão geral mais clara de como seu aplicativo está estruturado.
