O comando METHOD GET PATHS enche o array arrRotas com as rotas de acesso internas e os nomes dos métodos da aplicação do tipo definido pelo parâmetro tipoMetodo.
Se seu código está organizado em "pastas" no Navegador de 4D (página Inicio), pode passar um nome de pasta no parâmetro opcional nomPasta. Neste caso, o array arrRotas só contém as rotas dos métodos localizados neste lugar.
Nota: não pode utilizar o caractere curinga, "@" em nomPasta.
Passe no parâmetro tipoMetodo o tipo de método ao qual quer obter a rotas no array arrRotas. Pode utilizar as seguintes constantes (individualmente ou em combinação), do tema Design Object Access:
Constante |
Tipo |
Valor |
Comentário |
Path all objects |
Inteiro longo |
31 |
Combinação das rotas de todos os métodos da base |
Path database method |
Inteiro longo |
2 |
|
Path project form |
Inteiro longo |
4 |
Rota dos métodos formulário projeto e de todos seus métodos objeto. Exemplos: [projectForm]/myForm/{formMethod} [projectForm]/myForm/button1 [projectForm]/myForm/my%2list [projectForm]/myForm/button1 |
Path project method |
Inteiro longo |
1 |
Nome do método. Exemplo: MeuMétodoProjeto |
Path table form |
Inteiro longo |
16 |
Rota dos métodos formulário tabela e de todos seus métodos objeto. Exemplos: [tableForm]/table_1/Form1/{formMethod} [tableForm]/table_1/Form1/button1 [tableForm]/table_1/Form1/my%2list [tableForm]/table_2/Form1/my%2list |
Path trigger |
Inteiro longo |
8 |
Rota dos triggers da base. Exemplos: [trigger]/tabela_1 [trigger]/tabela_2 |
O parâmetro marcador permite recuperar as rotas dos métodos modificados a partir de um momento específico. Como parte de um sistema de controle de versão, isso significa que pode atualizar só os métodos modificados desde o último backup.
O funcionamento é o seguinte: 4D mantém um contador de modificação de métodos. Cada vez que um método se cria ou passa a guardar, este contador se incrementa e seu valor atual é guardado no marcador interno do método.
Se passado o parâmetro marcador, o comando só devolve os métodos cujo marcador é superior ou igual ao valor passado neste parâmetro. Além disso, o comando devolve em marcador o novo valor atual do contador de modificação, ou seja o valor mais alto. Se você guardar este valor, pode passar a próxima vez que este comando se chame de maneira que você somente recupere os métodos novos e modificados.
Se executado este comando desde um componente, devolve por defeito as rotas dos métodos do componente. Se passado o parâmetro *, o array conterá as rotas dos métodos da base local.
Se o comando detecta um nome de método duplicado, é gerado o erro -9802 ("Object path not unique"). Neste caso, é aconselhável utilizar o CSM com o propósito de verificar a estrutura da base de dados.
Recuperação dos métodos de projeto localizados em uma pasta "web":
METHOD GET PATHS("web", Path Project method;arrPaths)
Recuperação dos métodos base e dos triggers:
Recuperação dos métodos de projeto modificados desde o último backup:
$stamp :=Max([Backups]cur_stamp)
METHOD GET PATHS(Path project method;arrPaths;$stamp)
CREATE RECORD([Backups])
[Backups]cur_stamp :=$stamp
SAVE RECORD([Backups])
Consulte o exemplo do comando METHOD SET CODE.