Saltar al contenido principal
Versión: Siguiente

METHOD RESOLVE PATH

METHOD RESOLVE PATH ( ruta ; tipoMetodo ; prtTabla ; nomObjeto ; nomObjForm {; *} )

ParámetroTipoDescripción
rutaTextRuta a resolver
tipoMetodoIntegerSelector de tipo de objeto
prtTablaPointerReferencia de tabla
nomObjetoTextNombre de formulario o de método base
nomObjFormTextNombre de objeto del formulario
*OperadorSi se pasa = el comando se aplica a la base local cuando se ejecuta desde un componente (parámetro ignorado fuera de este contexto)

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

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:

ConstanteTipoValorComentario
Path database methodEntero largo2Ruta 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 formEntero largo4Ruta 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 methodEntero largo1Nombre del método.
Ejemplo: MiMetodoProyecto
Path table formEntero largo16Ruta 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 triggerEntero largo8Ruta 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.

Ejemplo 1

Resolución de una ruta de método base:

 var $methodType : Integer
 var $tablePtr : Pointer
 var $objectName : Text
 var $formObjectName : Text
 
 METHOD RESOLVE PATH("[databaseMethod]/onStartup";$methodType;$tablePtr;$objectName;$formObjectName)
  // $methodType: 2
  // $tablePtr: Nil pointer
  // $objectName: "onStartup"
  // $formObjectName: ""

Ejemplo 2

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

 var $methodType : Integer
 var $tablePtr : Pointer
 var $objectName : Text
 var $formObjectName : Text
 
 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