# VExtension

Este clase representa la extensión en Velneo vDevelop. Dispone de funciones para ver información de los proyectos, acceso a la solución, etc.

### El objeto theExtension

Todos los scripts de extensiones en Velneo vDevelop están conectados a un objeto global y único que representa la extensión cuyo nombre es theExtension. Para ello, debemos incluir en nuestro código QML el import correspondiente:

```javascript
import VExtensions 2.0
```

También está disponible el objeto [theApp](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/vapp#theapp) en Velneo vDevelop, a través de la función [theApp](#theapp)() de esta clase, del cuál podemos usar las funciones que tienen sentido en edición.

Los grupos de funciones disponibles son: generales, proyectos, cursor, constantes, DOS: directorios, DOS: ficheros, info local actual, info local del sistema, impresoras, multimedia y la función sysInfo. Los grupos no disponibles son: variables globales, variables globales array, variables de sistema, sistema, mantenimiento de Base de datos, tablas estáticas, cestas, impresión de informes, mensajería interna, vista de datos, estilos, TLS/SSL.

### Herencia

Hay que tener en cuenta que la extensión da acceso al proyecto principal con el que se ha arrancado la aplicación y todos sus objetos heredados lo que permite el acceso y uso de cualquier objeto de la aplicación desde cualquier script.

Está disponible en scripts ejecutados en Velneo vDevelop.

## Funciones

**De aplicación**

| Retorno                                                                                                | Función             |
| ------------------------------------------------------------------------------------------------------ | ------------------- |
| [theApp](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/vapp#el-objeto-theapp) | [theApp](#theapp)() |

**De configuración**

| Retorno | Función                                                     |
| ------- | ----------------------------------------------------------- |
| void    | [executeExtension](#executeextension)( String szExtension ) |
| String  | [extensionDirPath](#extensiondirpath)()                     |
| void    | [setAutoClose](#setautoclose)( Boolean bAutoCerrar )        |
| void    | [setDialog](#setdialog)( Boolean bDialogo )                 |
| void    | [setFixedSize](#setfixedsize)( Boolean bFijo )              |

**De ventana**

| Retorno | Función                                            |
| ------- | -------------------------------------------------- |
| void    | [close](#close)()                                  |
| void    | [setWindowTypeFlags](#setwindowtypeflags)( flags ) |

**De conexión**

| Retorno | Función                                                                                 |
| ------- | --------------------------------------------------------------------------------------- |
| Number  | [connectServer](#connectserver)( String szVRL, String szUsuario, String, szContraseña ) |
| Boolean | [connectServerDialog](#connectserverdialog)()                                           |
| Boolean | [isConnected](#isconnected)()                                                           |

**De solución**

| Retorno                                                                                                      | Función                                                           |
| ------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
| [VSolutionInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsolutioninfo) | [currentSolutionInfo](#currentsolutioninfo)()                     |
| [VSolutionInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsolutioninfo) | [newSolution](#newsolution)()                                     |
| void                                                                                                         | [openSolution](#opensolution)( String szVRL )                     |
| void                                                                                                         | [openSolutionDialog](#opensolutiondialog)()                       |
| Boolean                                                                                                      | [runInstallWizard](#runinstallwizard)( String szSendaInstalador ) |
| void                                                                                                         | [runSolution](#runsolution)()                                     |

**De proyecto**

| Retorno                                                                                                    | Función                                                                                                 |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [VProjectInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vprojectinfo) | [currentProjectInfo](#currentprojectinfo)()                                                             |
| Number                                                                                                     | [projectCount](#projectcount)( Number nProjectType )                                                    |
| [VProjectInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vprojectinfo) | [projectInfo](#vprojectinfo-projectinfo-number-nprojecttype-int-index)( Number nProjectType, int index) |
| void                                                                                                       | [openProject](#void-openproject-vprojectinfo-projectinfo)( VProjectInfo projectInfo  )                  |

**De objeto**

| Retorno                                                                                                  | Función                                                                          |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [VObjectInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo) | [currentObjecInfo](#currentobject)()                                             |
| void                                                                                                     | [openObject](#void-openobject-vobjectinfo-objectinfo-)( VObjectInfo objectInfo ) |

**De instancias**

| Retorno       | Función                                                 |
| ------------- | ------------------------------------------------------- |
| VInstanceList | [appInstances](#appinstances)( VSolutionInfo solucion ) |
| VInstanceList | [datInstances](#datinstances)( VSolutionInfo solucion ) |

**De directorios**

| Retorno                                                                                    | Función             |
| ------------------------------------------------------------------------------------------ | ------------------- |
| [VDir](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vdir) | [newDir](#newdir)() |

**De ficheros**

| Retorno                                                                                              | Función                                       |
| ---------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [VFile](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vfile)         | [newFile](#newfile)( String szSenda )         |
| [VTextFile](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtextfile) | [newTextFile](#newtextfile)( String szSenda ) |

**De sistema**&#x20;

| Retorno                                                                                              | Función                                                                   |
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [VSettings](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsettings) | [newSettings](#newsettings)( String szOrganizacion, String szAplicacion ) |

**De base de datos externas**

| Retorno      | Función                             |
| ------------ | ----------------------------------- |
| VSqlDataBase | [newSqlDatabase](#newsqldatabase)() |

**De webservice**

| Retorno                                                                                                        | Función                                   |
| -------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| [XMLHttpRequest](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/xmlhttprequest) | [newXMLHttpRequest](#newxmlhttprequest)() |

## Enumeraciones

**Errores de conexión**

* OkVatp = okVatp
* ErrorSocket = errorSocket
* ErrorCommandClose = errorCierreComando
* ErrorCommand = errorComando
* ErrorUnknownCommandCommand = errorComandoDesconocido
* ErrorUserPassword = errorUsuarioPassword
* ErrorUnknownSolution = errorSitioDesconocido
* ErrorUnknownProject = errorCajaDesconocida
* ErrorAlreadyExists = errorYaExiste
* ErrorNotExist = errorNoExiste
* ErrorBatonHitch = errorTestigoEnganche
* ErrorUnauthorized = errorNoAutorizado
* ErrorOperation = errorOperacion
* ErrorLockedProject = errorCajaBloqueada
* ErrorProjectNoLocked = errorCajaSinBloquear
* ErrorUnknownInstance = errorInstanciaDesconocida
* ErrorUnknownRegister = errorTablaDesconocida
* ErrorUnknownIndex = errorIndiceDesconocido
* ErrorUnknownField = errorCampoDesconocido
* ErrorUnknownTransaction = errorTransaccionDesconocida
* ErrorBusyRegister = errorFichaOcupada
* ErrorRegisterHasHistorical = errorFichaTieneHistoricos
* ErrorNonexistentRegister = errorFichaInexistente
* ErrorRegisterFieldColission = errorFichaColisionCampo
* ErrorDiscReading = errorDiscoLectura
* ErrorDiscWriting = errorDiscoEscritura
* ErrorNullDirRegister = errorFichaDirNula
* ErrorInstanceWithHooks = errorInstanciaConEnganches
* ErrorLockedInstance = errorInstanciaBloqueada
* ErrorUserWithHooks = errorUsuarioConEnganches
* ErrorBusyUndoneByTransactionRegister = errorTransaccionDeshechaPorFichaOcupada
* ErrorConnectionServer = errorConexionConServer
* ErrorCodeAlreadyExists = errorCodigoYaExiste
* ErrorInvalidCode = errorCodigoNoValido
* ErrorKeyAlreadyExists = errorKeyYaExiste
* ErrorFreeRegister = errorFichaLibre
* ErrorRejectedByTriggerRegister = errorFichaRechazadoPorTrigger
* ErrorUnknown = errorDesconocido
* ErrorTherAreProjectsWithInstances = errorHayCajasConInstancias
* ErrorProcess = errorProceso
* ErrorUnmatchedOrigin = errorNoCoincideOrigen
* ErrorNoLicensesAvailable = errorSinLicenciasDisponibles
* ErrorOldBrowser = errorNavegadorAnticuado
* ErrorDifferentBrowserVersion = errorNavegadorDiferenteVersion
* ErrorInstanceUsedByOther = errorInstanciaUsadaPorOtrasInstancias
* ErrorHookWithOngoingTasks = errorEngancheConTareasEnCurso
* ErrorBlockedUser = errorUsuarioBloqueado
* ErrorCreateSolution = errorCrearSolucion
* ErrorWithInstanceDataFolder = errorCarpetaConDatosDeInstancias
* ErrorRegistersUnchanged = errorFichaSinModificaciones
* ErrorFileWithInstanceDataFile = errorFicheroConDatosDeInstancias
* ErrorOrderExpressesUndoneByTransaction = errorTransaccionDeshechaPorOrdenExpresa
* ErrorTransactionFinished = errorTransaccionFinalizada
* ErrorInstanceWithTasksRunning = errorInstanciaConTareasEjecutandose
* ErrorBlockTables = errorBloquearTablas
* ErrorCopyInstance = errorCopiarInstancia

**Flags de ventana de diálogo**

* WindowTypeMSWindowsFixedSizeDialogHint = 0x00000100 - En Windows asigna un borde fino de diálogos de tamaño fijo (sólo ventanas modales)
* WindowTypeCoverWindow = 0x00000040 | WindowTypeWindow - Previsualización
* WindowTypeForeignWindow = 0x00000020 | WindowTypeWindow - Nativa externa al programa
* WindowTypeSubWindow = 0x00000012 - Subventana
* WindowTypeDesktop = 0x00000010 | WindowTypeWindow - Ventana de herramientas
* WindowTypeSplashScreen = WindowTypeToolTip | WindowTypeDialog
* WindowTypeToolTip = WindowTypePopup | WindowTypeSheet
* WindowTypeTool = WindowTypePopup | WindowTypeDialog
* WindowTypePopup = 0x00000008 | WindowTypeWindow - Modal
* WindowTypeDrawer = WindowTypeSheet | WindowTypeDialog
* WindowTypeSheet = 0x00000004 | WindowTypeWindow - Ventana tipo hoja de Mac
* WindowTypeDialog = 0x00000002 | WindowTypeWindow - Ventana diálogo (sin botones de maximizar o minimizar)
* WindowTypeWindow = 0x00000001 - Tipo ventana, compuesta por marco y barra de título. No se quita si no tiene padre
* WindowTypeWidget = 0x00000000 - Tipo por defecto
* WindowTypeNoDropShadowWindowHint = 0x40000000 - Deshabilita sombra si está soportado
* WindowTypeFramelessWindowHint = 0x00000800 - Ventana sin borde. No es posible moverla ni cambiar el tamaño (sólo ventanas modales)
* WindowTypeX11BypassWindowManagerHint = BypassWindowManagerHint - Obviar el sistema de ventanas (queda inacessible)
* WindowTypeBypassWindowManagerHint = 0x00000400 - Depende del sistema, desactiva el sistema de ventanas (sólo ventanas modales)
* WindowTypeMSWindowsOwnDC = 0x00000200 - Establece a la ventana su propio contexto de presentación en Windows (sólo ventanas mod
* WindowTypeCustomizeWindowHint = 0x02000000 - Requerida para configurar la ventana
* WindowTypeWindowTitleHint = 0x00001000 - Establece una barra de título en la ventana (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowSystemMenuHint = 0x00002000 - Añade un menú de sistema y un botón de cerrar (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowMinimizeButtonHint = 0x00004000 - Añade botón de minimizar en función del s.o. (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowMaximizeButtonHint = 0x00008000 - Añade botón de maximizar en función del s.o. (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint
* WindowTypeWindowCloseButtonHint = 0x08000000 - Botón cerrar (Requiere WindowTypeCustomizeWindowHint y WindowTypeWindowSystemMenuHint)
* WindowTypeWindowContextHelpButtonHint = 0x00010000 - Incluye un botón de ayuda (Requiere WindowTypeCustomizeWindowHint y WindowTypeMenuHint)
* WindowTypeMacWindowToolBarButtonHint = 0x10000000 - Añade botón de toolbar en Mac (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowFullscreenButtonHint = 0x80000000 - En Mac, pantalla completa (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeBypassGraphicsProxyWidget = 0x20000000 - Encima aunque el padre quede oculto (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowShadeButtonHint = 0x00020000 - Añade un botón sombreado en función del s.o. (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowStaysOnTopHint = 0x00040000 - Sobre todas las del escritorio (Requiere WindowTypeCustomizeWindowHint y 0x00000400)
* WindowTypeWindowStaysOnBottomHint = 0x04000000 - En Windows, se pone la ventana al fondo (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowTransparentForInput = 0x00080000 - No tiene input (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowOverridesSystemGestures = 0x00100000 - No acepta gestos táctiles (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowDoesNotAcceptFocus = 0x00200000 - No recibe foco (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeMaximizeUsingFullscreenGeometryHint = 0x00400000 - Pantalla completa (Requiere WindowTypeCustomizeWindowHint)
* WindowTypeWindowType\_Mask = 0x000000ff - Máscara para extraer la parte de tipo de ventana de los flags de ventana

**Tipos de proyecto**

* VProjectInfo.TypeApp = 1&#x20;
* VProjectInfo.TypeDat = 0

## Documentación de funciones

### Funciones de aplicación

#### theApp() <a href="#theapp" id="theapp"></a>

Devuelve el objeto [theApp](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/vapp#el-objeto-theapp) correspondiente en cada momento.

### Funciones de configuración

#### String extensionDirPath() <a href="#extensiondirpath" id="extensiondirpath"></a>

Devuelve la senda en disco de la extensión en curso.

#### void executeExtension( String szExtension ) <a href="#executeextension" id="executeextension"></a>

Ejecuta la extensión que pasemos como parámetro.

Parámetros:

* szExtension: nombre de la extensión a ejecutar.

#### void setAutoClose( Boolean bAutoCerrar ) <a href="#setautoclose" id="setautoclose"></a>

Establece que la ventana de la extensión en curso se cierre cuando cambiamos de proyecto.

Parámetros:

* bAutoCerrar: true o false para definir si queremos que se cierre de forma automática al cambiar de proyecto o no.

#### void setDialog( Boolean bDialogo ) <a href="#setdialog" id="setdialog"></a>

Establece que la ventana de la extensión en curso se muestre construya en modo diálogo.

Parámetros:

* bDialogo: true o false para definir si queremos que la extensión se construya en modo diálogo o no.

Nota:

Ha de usarse en la construcción del componente QML principal para que tenga efecto.

#### void setFixedSize( Boolean bFijo ) <a href="#setfixedsize" id="setfixedsize"></a>

Establece cuando la ventana está en diálogo si es posible redimensionarla o no.

Parámetros:

* bFijo: booleano que define si es fijo (true) o redimensionable (false).

### Funciones de ventana

#### void close() <a href="#close" id="close"></a>

Cierra la ventana de la extensión, finalizando su ejecución.

#### void setWindowTypeFlags( flags ) <a href="#setwindowtypeflags" id="setwindowtypeflags"></a>

Establece la configuración de la ventana cuando está en diálogo.

Parámetros:

* flags: flags que definen las opciones disponibles. Ver enum de flags.

Nota:

El soporte y correcto funcionamiento de los flags depende enteramente del sistema operativo.

### Funciones de conexión

#### Number connectServer( String szVRL, String szUsuario, String, szContraseña ) <a href="#connectserver" id="connectserver"></a>

Conecta con el servidor de Velneo cuya URL indicamos como parámetro, usando el usuario y contraseña especificados.

Parámetros:

* szVRL: VRL del servidor: "vatp\://dominio\_ip:puerto".
* szUsuario: nombre del usuario
* szContraseña: contraseña del usuario

Para retorno de errores ver enum de Errores de conexión.

#### Boolean connectServerDialog() <a href="#connectserverdialog" id="connectserverdialog"></a>

Muestra el cuadro de diálogo estándar de conexión con el servidor de Velneo.

Retorna true si se ha realizado la conexión, false si no se ha realizado y el usuario cancela.

#### Boolean isConnected() <a href="#isconnected" id="isconnected"></a>

Retorna true o false en función de si estamos conectados con el servidor de Velneo o no.

### Funciones de solución

#### VSolutionInfo currentSolutionInfo() <a href="#currentsolutioninfo" id="currentsolutioninfo"></a>

Devuelve un objeto [VSolutionInfo ](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsolutioninfo)de la solución en curso.

#### VSolutionInfo newSolution() <a href="#newsolution" id="newsolution"></a>

Abre el cuadro de diálogo de nueva solución.

#### void openSolution( String szVRL ) <a href="#opensolution" id="opensolution"></a>

Abre la solución cuya VRL pasemos como parámetro.

Parámetros:

* szVRL: vrl de la solución a abrir. Debe seguir la siguiente sintaxis:

`vatp[s]://IP_SERVIDOR///NOMBRE_SOLUCION")`

Ejemplo:

```javascript
theExtension.openSolution("vatp://127.0.0.1///vERP_2")
```

#### void openSolutionDialog() <a href="#opensolutiondialog" id="opensolutiondialog"></a>

Abre el cuadro de diálogo "abrir solución" de [Velneo vDevelop](https://doc.velneo.com/29/velneo-vdevelop/introduccion). En el caso de que no estemos conectados con un servidor, presentará antes la ventana de conexión con el servidor.

#### Boolean runInstallWizard( String szSendaInstalador ) <a href="#runinstallwizard" id="runinstallwizard"></a>

Inicia el asistente de instalación de un fichero con extensión .vin que indiquemos como parámetro.

Parámetros:

* szSendaInstalador: senda del instalador .vin que vamos a instalar.

#### void runSolution() <a href="#runsolution" id="runsolution"></a>

Inicia la ejecución de la solución en curso. Debe tener instancias creadas previamente.

### Funciones de proyecto

#### VProjectInfo currentProjectInfo() <a href="#currentprojectinfo" id="currentprojectinfo"></a>

Devuelve el objeto [VProjectInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vprojectinfo) del proyecto principal en curso.

#### Number projectCount( Number nProjectType ) <a href="#projectcount" id="projectcount"></a>

Devuelve el número de proyectos cargados en ese momento en Velneo vDevelop del tipo que pasemos como parámetro.

Parámetros:

* nProjectType: tipo de proyecto. Ver enum de tipos de proyecto.

Nota: sólo es funcional en extensiones de Velneo vDevelop.

#### VProjectInfo projectInfo( Number nProjectType, int index)

Devuelve un objeto de la clase [VProjectInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vprojectinfo) correspondiente al tipo de proyecto (datos o aplicación) y a la posición de la lista de proyectos encontrados con la función [projectCount](#projectcount).

Parámetros:

* nProjectType: tipo de proyecto. Ver enum de tipos de proyecto.
* index:  número del proyecto, se suele usar un bucle for para recorrerlos.

#### void openProject( VProjectInfo projectInfo )

Abre el proyecto en el editor cuyo puntero pasamos como parámetro.

Parámetros:

* projectInfo: objeto correspondiente al proyecto.

### Funciones de objeto

#### VObjectInfo currentObjectInfo() <a href="#currentobject" id="currentobject"></a>

Permite acceder al objeto seleccionado en el editor en el proyecto en curso, retornando el correspondiente [VObjectInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo).

#### void openObject( VObjectInfo objectInfo )

Abre el objeto en el editor cuyo puntero pasamos como parámetro.

Parámetros:

* objectInfo: VObjetoInfo del objeto que queremos abrir.

### Funciones de instancias

#### VInstanceList appInstances( VSolutionInfo solucion ) <a href="#appinstances" id="appinstances"></a>

Retorna un objeto VInstanceList que contiene la lista de instancias de aplicación de la solución en curso.

Parámetros:

* solucion: objeto [VSolutionInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsolutioninfo) que representa la solución de la que queremos conocer las instancias disponibles.

Nota: sólo disponible para extensiones de Velneo vDevelop

#### VInstanceList datInstances( VSolutionInfo solucion ) <a href="#datinstances" id="datinstances"></a>

Retorna un objeto VInstanceList que contiene la lista de instancias de datos de la solución en curso.

Parámetros:

* solucion: objeto [VSolutionInfo](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsolutioninfo) que representa la solución de la que queremos conocer las instancias disponibles.

Nota: sólo disponible para extensiones de Velneo vDevelop.

### Funciones de directorios

#### VDir newDir() <a href="#newdir" id="newdir"></a>

Crea un objeto [VDir](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vdir) para la gestión de un directorio que pasemos como parámetro.

### Funciones de ficheros

#### VFile newFile( String szSenda ) <a href="#newfile" id="newfile"></a>

Crea un objeto [VFile](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vfile) para la gestión del fichero en disco que especificamos como parámetro.

Parámetros:

* szSenda: senda del fichero en disco.

#### VTextFile newTextFile( String szSenda ) <a href="#newtextfile" id="newtextfile"></a>

Crea un objeto [VTextFile](https://github.com/velneo/documentacion-de-velneo/tree/c9b0a763081be854a33d8ab459aa288833ea168d/vtextfile.md) para la gestión del fichero del texto en disco que especificamos como parámetro.

Parámetros:

* szSenda: senda del fichero de texto en disco.

### Funciones de sistema

#### VSettings newSettings( String szOrganizacion, String szAplicacion ) <a href="#newsettings" id="newsettings"></a>

Crea un objeto [VSettings](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/vsettings) para la gestión de una rama de configuración del sistema correspondiente a la Organización y la aplicación que pasemos como parámetro.

Parámetros:

* szOrganizacion: rama de la organizacion en la que queremos establecer o leer un valor.
* szAplicacion: rama de la aplicación en la que queremos establecer o leer un valor.

Nota:

En Windows se accede al registro, en linux a ficheros con extensión .ini y en mac a ficheros con extensión .plist.

### Funciones de base de datos externas

#### VSqlDataBase newSqlDatabase() <a href="#newsqldatabase" id="newsqldatabase"></a>

Inicializa un acceso a base de datos externa. Devuelve el puntero al acceso a base de datos externa.

Debemos hacer uso del subapi de Bases de datos externas para configurar el acceso y conectarnos para operar.

### Funciones de webservice

#### XMLHttpRequest newXMLHttpRequest() <a href="#newxmlhttprequest" id="newxmlhttprequest"></a>

Crea un nuevo objeto [XMLHttpRequest](https://doc.velneo.com/29/velneo-vdevelop/scripts/lenguajes/javascript/clases/xmlhttprequest) para la obtención de URL's para el acceso a webservices.

### Ejemplos

### Ejemplo de uso de las funciones de configuración de extensión

```javascript
Rectangle
{
    id: componentePrincipal

    width: 800
    height: 600

    Component.onCompleted:
    {
        theExtension.setDialog( true );
        theExtension.setWindowTypeFlags( VExtension.WindowTypeDialog | VExtension.WindowTypeCustomizeWindowHint | VExtension.WindowTypeWindowTitleHint );
        theExtension.setFixedSize(true);    
    }
}
```
