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
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
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.
Última actualización