Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
METHOD RESOLVE PATH

METHOD RESOLVE PATH 


 

METHOD RESOLVE PATH ( ruta ; tipoMetodo ; prtTabla ; nomObjeto ; nomObjForm {; *} ) 
Parámetro Tipo   Descripción
ruta  Texto in Ruta a resolver
tipoMetodo  Entero largo in Selector de tipo de objeto
prtTabla  Puntero in Referencia de tabla
nomObjeto  Texto in Nombre de formulario o de método base
nomObjForm  Texto in Nombre de objeto del formulario
Operador in Si se pasa = el comando se aplica a la base local cuando se ejecuta desde un componente (parámetro ignorado fuera de este contexto)

El comando METHOD RESOLVE PATH analiza la ruta de acceso interna pasada en el parámetro ruta y devuelve sus diferentes componentes en los parámetros tipoMetodo, ptrTabla, nomObjeto y nomObjetoForm.

En el parámetro tipoMetodo devuelve un valor que indica el tipo del método. Puede comparar este valor con las siguientes constantes del tema Acceso objetos diseño:

Constante Tipo Valor Comentario
Path database method Entero largo 2

Ruta de los métodos base definidos. Lista de estos métodos:
[databaseMethod]/onStartup
[databaseMethod]/onExit
[databaseMethod]/onDrop
[databaseMethod]/onBackupStartup
[databaseMethod]/onBackupShutdown
[databaseMethod]/onWebConnection
[databaseMethod]/onWebAuthentication
[databaseMethod]/onWebSessionSuspend
[databaseMethod]/onServerStartup
[databaseMethod]/onServerShutdown
[databaseMethod]/onServerOpenConnection
[databaseMethod]/onServerCloseConnection
[databaseMethod]/onSystemEvent
[databaseMethod]/onSqlAuthentication
[databaseMethod]/onHostDatabaseEvent
[databaseMethod]/onRESTAuthentication
[databaseMethod]/onMobileAppAuthentication
[databaseMethod]/onMobileAppAction

Path project form Entero largo 4

Ruta de los métodos formularo proyecto y de todos su métodos objeto. Ejemplos:
[projectForm]/myForm/{formMethod}
[projectForm]/myForm/button1
[projectForm]/myForm/mylist
[projectForm]/myForm/button1

Path project method Entero largo 1 Nombre del método.
Ejemplo: MiMetodoProyecto
Path table form Entero largo 16

Ruta de los métodos formulario tabla y de todos sus métodos objeto. Ejemplos:
[tableForm]/table_1/Form1/{formMethod}
[tableForm]/table_1/Form1/button1
[tableForm]/table_1/Form1/mylist
[tableForm]/table_2/Form1/mylist

Path trigger Entero largo 8 Ruta de los triggers de la base. Ejemplos:
[trigger]/tabla_1
[trigger]/tabla_2

Nota: el comando no comprueba si el método existe realmente en la base de datos/proyecto. Sólo se genera un error cuando se pasa un nombre de tabla inválido. 

El parámetro ptrTabla contiene un puntero a una tabla de la base cuando la ruta referencia un método formulario tabla o un trigger.

El parámetro nomObjeto contiene:

  • un nombre de formulario si la ruta referencia un formulario tabla o proyecto.
  • un nombre de método base si la ruta referencia un método base.

El parámetro nomObjetoForm contiene un nombre de objeto de formulario si la ruta referencia un método objeto.

Si el comando se ejecuta desde un componente, considera por defecto que ruta designa un método del componente. Si pasa el parámetro *, considera que ruta designa un método de la base local.

Resolución de una ruta 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: ""

Resolución de una ruta de objeto de método formulario tabla:

 C_LONGINT($methodType)
 C_POINTER($tablePtr)
 C_TEXT($objectName)
 C_TEXT($formObjectName)
 
 METHOD RESOLVE PATH("[tableForm]/Table1/output%2A1/myVar%2A1";$methodType;$tablePtr;$objectName;$formObjectName)
  // $methodType: 16
  // $tablePtr: -> [Table1]
  // $objectName: "output1"
  // $formObjectName: "Btn1"



Ver también 

METHOD Get path

 
PROPIEDADES 

Producto: 4D
Tema: Acceso a los objetos de desarrollo
Número 1165

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v13

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)