4D v16.3

METHOD GET PATHS

Página Inicial

 
4D v16.3
METHOD GET PATHS

METHOD GET PATHS 


 

METHOD GET PATHS ( {nomPasta ;} tipoMetodo ; arrRotas {; marcador}{; *} ) 
Parâmetro Tipo   Descrição
nomPasta  Texto in Nome da página da pasta de inicio
tipoMetodo  Inteiro longo in Seletor de tipo de método a recuperar
arrRotas  Array texto in Arrays de rotas e nomes dos métodos
marcador  Variável inteiro longo in Valor mínimo de marcador
in Novo valor atual
Operador in Se passado = o comando se aplica à base local quando se executa desde um componente (parâmetro ignorado fora deste contexto)

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:

 METHOD GET PATHS(Path trigger+Path database method;arrPaths)

Recuperação dos métodos de projeto modificados desde o último backup:

  // carregamos o último valor armazenado
 $stamp :=Max([Backups]cur_stamp)
 METHOD GET PATHS(Path project method;arrPaths;$stamp)
  // guardamos o novo valor
 CREATE RECORD([Backups])
 [Backups]cur_stamp :=$stamp
 SAVE RECORD([Backups])

Consulte o exemplo do comando METHOD SET CODE.



Ver também 

Current method path
METHOD GET FOLDERS

 
PROPRIEDADES 

Produto: 4D
Tema: Accesso aos Objetos de Design
Número 1163

 
HISTÓRIA 

Criado por: 4D v13

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)