AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Gestión de lenguajes externos / Visual Basic
  • Presentación
  • Implementación
  • 1. Incluyendo los archivos de la interfaz Visual Basic de WINDEV
  • 2. Incluyendo las declaraciones HFSQL
  • Declaración e inicialización
  • 1. Declarar el contexto HFSQL y los búferes de trabajo de cada archivo
  • 2. Inicialización de las DLLs de WINDEV
  • 3. Inicialización de HFSQL
  • 4. Carga de la biblioteca WINDEV (WDL)
  • 5. Abrir el análisis del proyecto y asociar los búferes a los archivos de datos
  • Ejecutar códigos WINDEV desde el idioma externo
  • 1. Código de inicialización del proyecto WINDEV
  • 2. Llamar a un código de WLanguage
  • 3. Recuperación de los eventos lanzados en las ventanas WINDEV
  • Finalización de la aplicación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Vamos a llamar a los elementos desarrollados en WINDEV (proyecto, ventanas, análisis, ... ) de Visual Basic. Este sistema se basa en el uso de las funciones declaradas en el wdxxxle.dll de WINDEV. El código WLanguage utilizado desde el lenguaje externo se compilará dinámicamente y se ejecutará durante la llamada.
Este modo se ilustra en el proyecto City.VBP (formato Visual Basic 6), disponible en el subdirectorio "Idiomas externos\EN\Basic" del directorio de instalación de WINDEV.
Observaciones:
Implementación

1. Incluyendo los archivos de la interfaz Visual Basic de WINDEV

Si está utilizando una base de datos en su aplicación, el primer paso consiste en generar su análisis. En la description de este análisis, especifique el lenguaje de programación utilizado así como el directorio que contendrá los archivos fuente.
A través de la generación se genera un esqueleto de programa (*.bas). Esta operación también creará el archivo.gbl (ver abajo) requerido para usar sus archivos de datos.
Los siguientes archivos deben ser incluidos en un proyecto de Visual Basic para poder llamar a la interfaz de Visual Basic de WINDEV:
Los archivos.glb y.bas que describen la estructura de los archivos de datos serán generados automáticamente por WINDEV al generar el análisis.

2. Incluyendo las declaraciones HFSQL

Los archivos .gbl y .bas correspondientes a la description de los archivos de análisis deben ser añadidos al proyecto Visual Basic. Las declaraciones de los ficheros de datos se incluyen en el fichero cuya extension es.gbl (este fichero sustituye al.wdr creado con la versión WINDEV anterior).
Por ejemplo, en el proyecto City.vbp (suministrado con WINDEV en el directorio "ExternalLanguages"), este archivo se denomina "WD External language.gbl".
Declaración e inicialización

1. Declarar el contexto HFSQL y los búferes de trabajo de cada archivo

Si la aplicación debe gestionar ficheros de datos, se debe declarar un contexto de trabajo HFSQL así como un buffer para cada fichero de datos.
Estas declaraciones se realizan mediante las siguientes líneas en el proyecto WD29 External Language.bas:
' Manage the context of the 3 HFSQL files
gCtx = EL_CreateHFContext(3) ' Structure of the CITY file
' Zip Codes & Cities
Type TYPECD
ZIPCODE As String * 5
F_ZIPCODE As String * 1
CITY As String * 30
F_CITY As String * 1
End Type
Global CD As TYPECD

2. Inicialización de las DLLs de WINDEV

El primer paso antes de usar los elementos desarrollados en WINDEV es cargar las DLLs de WINDEV en la memoria e inicializarlas.
Estas operaciones se realizan mediante la llamada a InitModule en callwd Procedure de la siguiente manera:
Call InitModule(WDCtx)

3. Inicialización de HFSQL

Si su aplicación está llamando a una base de datos, el acceso a HFSQL debe prepararse ahora.. La siguiente prueba se utiliza para comprobar si esta inicialización se realiza correctamente:
'Initialization of HF
Call Callwd("HFCTX")
If EL_HinitShare(gCtx,WDLong) = 0 Then
MsgBox ("Error initializing the HF context.")
Exit Sub
End If

4. Carga de la biblioteca WINDEV (WDL)

La biblioteca WINDEV (.WDL extension) contiene todos los elementos del proyecto (ventanas, informes, clases, consultas, análisis, ...). Por lo tanto, debe ser cargado en la memoria para que sus componentes puedan ser llamados.
La operación de carga se realiza mediante callwd("Biblioteca,disco ...") de la siguiente manera:
Atención: Si la biblioteca a cargar contiene ventanas, el código de cada una de estas ventanas debe incluirse en el archivo ".WDW" correspondiente ("Incluir el código compilado" debe estar marcado en la pestaña "Detalles" del description de cada ventana).
' Open the library
' if WDInt is not null, the library was not found!
Call callwd("LIBRA,disk,city.wdl")
If WDInt <> 0 Then
' Library not found
Call callwd("Error,The CITY.WDL library must be found in the current directory.")
' indicate to WINDEV that the program will be ended
Call HFDoneShare
Call WDEnd
Exit Sub
End If

5. Abrir el análisis del proyecto y asociar los búferes a los archivos de datos

Abrir el análisis le permite llamar a los archivos de datos. Una vez que este análisis se haya abierto con HOpenAnalysis , simplemente asocie los buffers de trabajo con los archivos descritos en este análisis:
'open the analysis
If HOpenAnalysis(gCtx, sAnalysisName, sPassword,"", "", "") = 0 Then
MsgBox ("Error opening the analysis " + sAnalysisName)
Exit Sub
End If
' HF buffer of the City file
Call EL_HDescribeRecord(gCtx, "CITY", 37, lArrItmCD(0), 2, sTypeCD, CD)
' HF buffer of the State file
Call EL_HDescribeRecord(gCtx, "STATE", 34, lArrItmDP(0), 2, sTypeDP, DP)
Ejecutar códigos WINDEV desde el idioma externo

1. Código de inicialización del proyecto WINDEV

Este código se utiliza para iniciar el proyecto WINDEV declarando las variables globales por ejemplo. Se ejecuta desde el lenguaje externo mediante CallWD("Project, ProjectName"). Por ejemplo:
CALLWD("PROJECT,City");

2. Llamar a un código de WLanguage

Todas las funciones WLanguage se pueden llamar desde el idioma externo. El comportamiento de estas funciones WLanguage, así como los valores devueltos, son idénticos tanto si se llaman:
  • de WINDEV o
  • desde la interfaz del lenguaje externo
Para conocer los parámetros y los valores de retorno de una función WLanguage, consulte la ayuda en línea o la documentación sobre WLanguage.
La llamada a un WLanguage Procedure desde la interfaz externa se realiza a través de CallWD. Por ejemplo:
' Open a WINDEV window
CALLWD("OPEN, menu.wdw")
Notará que el parámetro esperado por CallWD es una cadena de caracteres que contiene el código WLanguage a ejecutar.
Al igual que WLanguage codificado en WINDEV, esta cadena no distingue entre mayúsculas y minúsculas (caracteres en mayúscula / minúscula). Por lo tanto, el comando "Info" también se puede escribir como "INFO".

3. Recuperación de los eventos lanzados en las ventanas WINDEV

La entrada en las ventanas WINDEV requiere recuperar los eventos desencadenados en estas ventanas.
Para recuperar los eventos de usuario (haga clic en un menú, en un botón,...), debe implementar un sistema basado en un bucle en su programa Visual Basic. Este bucle permanecerá Active mientras se abra la ventana WINDEV y se utilizará para interceptar cada acción del usuario.
Para conocer el tipo de acción realizada por el usuario, tiene la posibilidad de utilizar una cadena de caracteres Variable (en WLanguage) denominada 'WDKey '. Esta Variable será usada en su código WLanguage para señalar al programa Visual Basic qué botón ha sido pulsado por ejemplo. Esta cadena no tiene límite de tamaño y puede contener las instrucciones detalladas que se recuperarán de su código de Visual Basic.
Ejemplo: Código Visual Basic
' open the first window of the program that contains the menu
Call callwd("OPEN,menu.wdw")
' the program loops until the File Exit option
' is selected
While WDKey <> "ESC"
' perform the input of the menu
Call callwd("SCREEN,input")
'---------------------------------------
' Test of the selected option.
'---------------------------------------
If WDKey = "FE" then WDKey = "ESC" ' Exit
If WDKey = "RN" Then Call SearchCity ' Search by City
If WDKey = "RD" Then Call SearchState ' Search by State
If WDKey = "DD" Then Call LstState ' Display list.
If WDKey = "DI" Then Call LstPrint ' Print.
If WDKey = "DC" Then Call LstConfig ' Configure printer
Wend
' close the window
Call callwd("CLOSE")
Código de "Archivo .. Salida" de la ventana "Menú" de WINDEV (WLanguage):
WDKey="ESC"
Cuando el usuario hace clic en "Archivo...Salir", WDKey volverá al código de Visual Basic para realizar la siguiente acción.
Nota: La variable WDKey al ser una cadena de caracteres su contenido puede ser un description detallado de la acción a realizar. Por ejemplo, "Cerrar la aplicación".
Finalización de la aplicación
Para finalizar el uso de la interfaz externa, todo lo que tiene que hacer es llamar a WDEnd que no espera ningún parámetro. Por ejemplo:
WDEnd
Versión mínima requerida
  • Versión 9
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/11/2023

Señalar un error o enviar una sugerencia | Ayuda local