METHOD RESOLVE PATH
METHOD RESOLVE PATH ( ruta ; tipoMetodo ; prtTabla ; nomObjeto ; nomObjForm {; *} )
Parámetro | Tipo | Descripción | |
---|---|---|---|
ruta | Text | → | Ruta a resolver |
tipoMetodo | Integer | ← | Selector de tipo de objeto |
prtTabla | Pointer | ← | Referencia de tabla |
nomObjeto | Text | ← | Nombre de formulario o de método base |
nomObjForm | Text | ← | Nombre de objeto del formulario |
* | Operador | → | Si 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:
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.
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"