Librería externa

Este objeto visual permite declarar una librería de enlace dinámico externa y sus funciones, a las que podremos invocar desde distintos puntos del proyecto. Para crear un objeto de este tipo seleccionar la opción nuevo objeto/librería externa del menú objetos de Velneo vDevelop o a través de la galería de objetos.

Las propiedades de este objeto son:

Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

Nombre

Nombre de la librería externa; ha de ser el nombre del archivo sin la extensión.

Estilos

Podemos definir el estilo privado que limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

Comentarios

Esta propiedad nos permite documentar el uso del objeto.

Convención

Esta propiedad nos permite especificar el sistema de convención de llamada a la librería. Los valores posibles son:

  • C_DEFAULT
  • C_X86_DEFAULT
  • C_X86_WIN32_STD
  • C_X86_WIN32_FAST_MS
  • C_X86_WIN32_FAST_GNU
  • C_X86_WIN32_THIS_MS
  • C_X86_WIN32_THIS_GNU
  • C_X64_WIN64
  • C_X64_SYSV
  • C_PPC32_DARWIN
  • C_ARM_ARM
  • C_ARM_THUMB
  • C_MIPS32_EABI
  • C_MIPS32_PSPSDK

Funciones

Es necesario crear un subobjeto por cada función que se desee usar de la librería. Para añadir una pulsaremos el botón Añadir subobjeto del panel de subobjetos del panel de propiedades del objeto y seleccionaremos la opción Función de librería externa.

Esto hará que se añada el nuevo sub-objeto función al panel de sub-objetos.

Para editar sus propiedades, haremos doble clic sobre ella. Son:

Identificador

Etiqueta alfanumérica que identifica de forma unívoca al subobjeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca al sub-objeto no puede haber duplicidad dentro del mismo objeto.

Nombre

Nombre de la función a declarar de la librería externa.

Estilos

Podemos definir los estilos:

Privado

Limita el acceso del usuario final a cierta información sobre el objeto.

Heredable

Permite que el objeto sea usado cuando la caja sea heredada.

Comentarios

Esta propiedad nos permite documentar el uso del objeto.

Retorno

Especificación del tipo de dato de retorno. Los valores posibles son:

  • void
  • char
  • unsigned char
  • short
  • unsigned short
  • int
  • long
  • unsigned long
  • long long
  • unsigned long long
  • bool
  • float
  • double
  • const void*
  • const char*
  • const unsigned char*
  • const short*
  • const unsigned short*
  • const int*
  • const unsigned int*
  • const long*
  • const unsigned long*
  • const long* long*
  • const unsigned long* long*
  • const bool*
  • const float*
  • const double*

Convención

Esta propiedad nos permite especificar el sistema de convención de llamada a la función de la librería. Los valores posibles son:

  • C_DEFAULT
  • C_X86_DEFAULT
  • C_X86_WIN32_STD
  • C_X86_WIN32_FAST_MS
  • C_X86_WIN32_FAST_GNU
  • C_X86_WIN32_THIS_MS
  • C_X86_WIN32_THIS_GNU
  • C_X64_WIN64
  • C_X64_SYSV
  • C_PPC32_DARWIN
  • C_ARM_ARM
  • C_ARM_THUMB
  • C_MIPS32_EABI
  • C_MIPS32_PSPSDK

Parámetros de función

Si la función a declarar tiene parámetros, los declararemos uno a uno. Para añadir uno seleccionaremos la función en el panel de subobjetos, pulsaremos el botón Añadir subobjeto del panel de subobjetos del panel de propiedades del objeto y seleccionaremos la opción Parámetro de función.

Esto hará que se añada el nuevo sub-objeto parámetro de función al panel de sub-objetos.

Para editar sus propiedades, haremos doble clic sobre ella. Son:

Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El identificador constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

Nombre

Nombre del parámetro de la función de la librería externa.

Estilos

Podemos definir los estilos:

Privado

Limita el acceso del usuario final a cierta información sobre el objeto.

Heredable

Permite que el objeto sea usado cuando el proyecto sea heredado.

Comentarios

Esta propiedad nos permite documentar el uso de sub- objeto.

Tipo

Especificación del tipo de dato del parámetro. Los valores posibles son:

  • void
  • char
  • unsigned char
  • short
  • unsigned short
  • int
  • long
  • unsigned long
  • long long
  • unsigned long long
  • bool
  • float
  • double
  • const void*
  • const char*
  • const unsigned char*
  • const short*
  • const unsigned short*
  • const int*
  • const unsigned int*
  • const long*
  • const unsigned long*
  • const long* long*
  • const unsigned long* long*
  • const bool*
  • const float*
  • const double*

Notas

Si nuestra aplicación va a hacer uso de una librería externa que debamos suministrar a los clientes que la ejecuten, podremos usar el objeto Fichero adjunto para distribuirla de forma automática.

Podremos hacer la llamada a funciones de librerías externas declaradas tanto en el proyecto en curso como en proyectos heredados desde cualquier objeto o subobjeto donde pueda declararse una fórmula.

El acceso a librerías externas utiliza los tipos de datos de C/C++ para comunicarse. Esto facilita el uso de librerías entre distintos sistemas operativos, ya que se trata de tipos de datos comunes en todas las plataformas.

Desde proyectos de Velneo podremos hacer uso de librerías en las que se pasen parámetros por valor o constantes tipo * (de aquellos tipos que tenemos definidos en Velneo vDevelop), pero no variables por referencia; es decir, que para obtener información de la librería siempre debemos hacerlo a través del valor de retorno.

Desde proyectos de Velneo no podremos uso de librerías que manejen estructuras.

Con el fin de garantizar tanto la estabilidad como la seguridad de Velneo vServer el acceso a librerías externas desde procesos ésta permitido solamente en procesos ejecutados en primer o segundo plano (ejecución en cliente), no siendo posible hacer llamadas a librerías externas desde procesos ejecutados en tercer plano (en el servidor). Este objeto siempre debe ser creado dentro de un proyecto de aplicación; ya que, en la versión actual, las librerías declaradas en proyecto de datos no son funcionales.

La arquitectura de la librería ha de ser coincidente con la de Velneo vClient, es decir, que desde un Velneo vClient de 64 bits solamente podremos hacer llamadas a librerías de 64 bits; no podremos hacer llamadas a librerías de 32 bits.

results matching ""

    No results matching ""