Situação | Utilização da função FindFunction() para determinar a existência de uma função no binário ou no repositório do ambiente corrente. |
---|---|
Ocorrência | A cada chamada da função, a lista ordenada do mapa de funções era pesquisada novamente, inclusive quando a função era chamada utilizando uma string constante como parâmetro. |
Melhoria | Melhoria de desempenho de execução, optimizando a carga da chamada da função FindFunction(), quando a mesma é chamada com parâmetro constante. Neste caso, a função é executada durante a carga do fonte, e a chamada da execução é trocada para o resultado obtido, eliminando a necessidade de chamadas posteriores a partir deste ponto. |
Informações adicionais |
Observação: Com a execução da função durante a carga do fonte, as funções declaradas como STATIC no fonte em questão, caso sejam identificadas pela FindFunction() parametrizada com string constante passam a retornar .F. (falso), pois a lista de funções estáticas do código não está disponível durante a carga do próprio fonte, mas sim no final dele. Caso seja necessário por qualquer compatibilidade que a função FindFunction() seja capaz de identificar funções STATIC no próprio código onde ela está sendo chamada, basta colocar o nome da função desejado dentro de uma variável do AdvPL e informar a variável como parâmetro. |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas