Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Structure file
|
Structure file {( * )} -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
* | Operador |
![]() |
Devuelve el archivo de estructura de la base local | |||||
Resultado | Cadena |
![]() |
Nombre largo del archivo de estructura de la base | |||||
El comando Structure file devuelve la ruta de acceso del archivo de estructura de la base en la cual está trabajando actualmente.
Nota: en el caso particular de una base compilada y fusionada con 4D Volume Desktop, este comando devuelve la ruta de acceso al archivo de la aplicación (archivo ejecutable) bajo Windows y macOS. Bajo macOS, este archivo está ubicado dentro del paquete del programa, en la carpeta [Contents:MacOS]. Este funcionamiento viene de un antiguo mecanismo y se conserva por razones de compatibilidad. Si quiere obtener el nombre completo del paquete del programa, es preferible utilizar el comando Application file. La técnica consiste en probar la aplicación utilizando el comando Application type, luego se ejecuta Structure file o Application file en función del contexto.
Advertencia: si llama este comando cuandoutiliza 4D en modo remoto, sólo devuelve el nombre del archivo de estructura; no el nombre largo.
El parámetro opcional * es útil en el caso de una arquitectura que utilice componentes: permite determinar la estructura (local o componente) para la cual usted quiere obtener el nombre de acceso en función del contexto en el cual se llama el comando:
Este ejemplo muestra el nombre y la ubicación del archivo de estructura que está utilizando:
C_OBJECT($fullpath)
C_TEXT($name;$path)
If(Application type#4D Remote mode)
$fullpath:=Path to object(Structure file)
$name:=$fullpath.name
$path:=$fullpath.parentFolder
ALERT("You are currently using the database "+Char(34)+$name+Char(34)+" located at "+Char(34)+$path+Char(34)+".")
Else
ALERT("You are connected to the database "+Char(34)+Structure file+Char(34))
End if
El siguiente ejemplo puede utilizarse para saber si el método se llama desde un componente:
C_BOOLEAN($0)
$0:=(Structure file#Structure file(*))
` $0=True si el método es llamado desde un componente
_o_DATA SEGMENT LIST
Application file
COMPONENT LIST
Data file
Producto: 4D
Tema: Entorno 4D
Número
489
Modificado: 4D v11 SQL
Manual de lenguaje 4D ( 4D v20 R7)