Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
METHOD RESOLVE PATH
|
METHOD RESOLVE PATH ( rota ; tipoMetodo ; prtTabela ; nomObjeto ; nomObjetoForm {; *} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
rota | Texto |
![]() |
Rota a resolver | |||||
tipoMetodo | Inteiro longo |
![]() |
Seletor tipo de objeto | |||||
prtTabela | Ponteiro |
![]() |
Referência de tabela | |||||
nomObjeto | Texto |
![]() |
Nome de formulário ou método de base | |||||
nomObjetoForm | Texto |
![]() |
Nome de objeto de formulário | |||||
* | Operador |
![]() |
Se passado = o comando se aplica à base local quando se executa desde um componente (parâmetro ignorado fora deste contexto) | |||||
O comando METHOD RESOLVE PATH analisa a rota de acesso interna passada no parâmetro rota e devolve seus diferentes componentes nos parâmetros tipoMetodo, ptrTabela, nomObjeto e nomObjetoForm.
No parâmetro tipoMetodo devolve um valor que indica o tipo do método. Pode comparar este valor com as seguintes constantes do tema Design Object Access:
Constante | Tipo | Valor | Comentário |
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: |
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: |
Path trigger | Inteiro longo | 8 | Rota dos triggers da base. Exemplos: [trigger]/tabela_1 [trigger]/tabela_2 |
Nota: O comando não verifica se o método realmente existe no banco de dados ou projeto. Um erro só é gerado se um nome de tabela inválido for passado
O parâmetro ptrTabla contém um ponteiro a uma tabela da base quando a rota referencia um método formulário tabela ou um trigger.
O parâmetro nomObjeto contém:
O parâmetro nomObjetoForm contém um nome de objeto de formulário se a rota referencia um método objeto.
Se o comando se executa desde um componente, considera por padrão que a via designa um método do componente. Se passado o parâmetro *, se considera que a via designa um método da base local.
Resolução de uma rota de método base:
C_LONGINT($methodType)
C_POINTER($tablePtr)
C_TEXT($objectName)
C_TEXT($formObjectName)
METHOD RESOLVE PATH("[databaseMethod]/onStartup";$methodType;$tablePtr;$objectName;$formObjectName)
// $methodType: 2
// $tablePtr: Nil pointer
// $objectName: "onStartup"
// $formObjectName: ""
Resolução de uma rota de método de formulário tabela:
C_LONGINT($methodType)
C_POINTER($tablePtr)
C_TEXT($objectName)
C_TEXT($formObjectName)
METHOD RESOLVE PATH("[tableForm]/Table1/output1/myVar1";$methodType;$tablePtr;$objectName;$formObjectName)
// $methodType: 16
// $tablePtr: -> [Table1]
// $objectName: "output1"
// $formObjectName: "Btn1"
Produto: 4D
Tema: Accesso aos Objetos de Design
Número
1165
Criado por: 4D v13
Manual de linguagem 4D ( 4D v20)
Manual de linguagem 4D ( 4D v20.1)
Manual de linguagem 4D ( 4D v20.2)
Manual de linguagem 4D ( 4D v20.3)
Manual de linguagem 4D ( 4D v20.4)
Manual de linguagem 4D ( 4D v20.5)
Manual de linguagem 4D ( 4D v20.6)