Saltar al contenido principal
Versión: 20 R7 BETA

METHOD GET PATHS

METHOD GET PATHS ( {nomCarpeta ;} tipoMetodo ; arrRutas {; marcador}{; *} )

ParámetroTipoDescripción
nomCarpetaTextNombre de carpeta de la página Inicio
tipoMetodoIntegerSelector de tipo de método a recuperar
arrRutasText arrayArray de rutas y nombres de los métodos
marcadorRealValor mínimo de marcador
Nuevo valor actual
*OperadorSi se pasa = 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 GET PATHS llena el array arrRutas con las rutas de acceso internas y los nombres de los métodos de la aplicación del tipo definido por el parámetro tipoMetodo.

Si su código está organizado en "carpetas" en el Explorador de 4D (página Inicio), puede pasar un nombre de carpeta en el parámetro opcional nomCarpeta. En este caso, el array arrRutas sólo contiene las rutas de los métodos ubicados en esta ubicación.

Nota: no puede utilizar el carácter comodín, "@" en nomCarpeta.

Pase en el parámetro tipoMetodo el tipo de método del cual quiere obtener la rutas en el array arrRutas. Puede utilizar las siguientes constantes (individualmente o combinadas), del tema Acceso objetos diseño:

ConstanteTipoValorComentario
Path all objectsEntero largo-1Combinación de las rutas de todos los métodos de la base
Path classEntero largo32Ruta de la definición de clase. Ejemplo:
[class]/Persona
[class]/Estudiante
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

El parámetro marcador permite recuperar las rutas de los métodos modificados a partir de un momento específico. Como parte de un sistema de control de versión, esto significa que puede actualizar sólo los métodos modificados desde el último backup.
El funcionamiento es el siguiente: 4D mantiene un contador de modificación de métodos. Cada vez que un método se crea o se vuelve a guardar, este contador se incrementa y su valor actual se guarda en el marcador interno del método.
Si pasa el parámetro marcador, el comando sólo devuelve los métodos cuyo marcador es superior o igual al valor pasado en este parámetro. Además, el comando devuelve en marcador el nuevo valor actual del contador de modificación, es decir el valor más alto. Si guarda este valor, puede pasarlo la próxima vez que este comando se llame de manera que usted sólo recupera los métodos nuevos o modificados.

Si se ejecuta este comando desde un componente, devuelve por defecto las rutas de los métodos del componente. Si pasa el parámetro *, el array contendrá las rutas de los métodos de la base local.

Si el comando detecta un nombre de método duplicado, se genera el error -9802 ("Object path not unique"). En este caso, es aconsejable utilizar el CSM con el fin de verificar la estructura de la base de datos.

Ejemplo 1

Recuperación de los métodos de proyecto ubicados en una carpeta "web":

 METHOD GET PATHS("web";Path project method;arrPaths)

Ejemplo 2

Recuperación de los métodos base y de los triggers:

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

Ejemplo 3

Recuperación de los métodos de proyecto modificados desde el último backup:

  // cargamos el último valor almacenado
 $stamp :=Max([Backups]cur_stamp)
 METHOD GET PATHS(Path project method;arrPaths;$stamp)
  // guardamos el nuevo valor
 CREATE RECORD([Backups])
 [Backups]cur_stamp :=$stamp
 SAVE RECORD([Backups])

Ejemplo 4

Consulte el ejemplo del comando METHOD SET CODE.

Ver también

Current method path
METHOD GET FOLDERS