1 / 43

Visual Basic Wrapper o DLL

Visual Basic Wrapper o DLL.

kaida
Download Presentation

Visual Basic Wrapper o DLL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic Wrapper o DLL • ALVB.DLL es un componente desarrollado por Unisys que encapsula todas las propiedades y métodos del Component Enabler COM y los empaqueta en una DLL de tipo Visual Basic. De esta forma podemos utilizar de manera fácil la interfase COM en una aplicación construida con ActiveLinc. • Las ventajas de usar este paquete son: • La interfase es y se comporta como otra interfaz Visual Basic • El desarrollador no necesita ser experto en ActiveLinc para construir una aplicación.

  2. Instalación de la DLL • Debes realizar dos pasos antes de usar Visual Basic Wrapper : • Registrar el Component Enabler usando el programa JAVAREG desde el Kit de programas Microsoft Java Development. • Registrar la DLL usando REGSVR32 • Registrar el componente Enabler Component • Debes ejecutar el siguiente comando desde DOS.(debes estar ubicado en el directorio que contenga a JAVAREG.exe) • “JAVA/register/class:com\unisys\jellybeans\LINCEnvironment /prodig:LINCEnvironment.Java.1 ”

  3. Instalación de la DLL El segundo paso que debes efectuar es Registrar a ALVB.DLL Para esto debes Ejecutar el siguiente comando desde DOS : REGSVR32 <path name>\ALVB.DLL

  4. Instalación de la DLL Después de registrar ALVB.DLL podemos utilizar el componente desde Visual Basic, para hacer esto, solo debes hacer una referencia al componte ALVB Imagen 1

  5. Declaración del ActiveLINCConnection La llamada del ActiveLINCConnection es declarada de la siguiente forma: Public LINCApp As ActiveLINCConnection Nota: La versión actual de Component Enabler es sincrónico, esto quiere decir que el programa es hasta recibir una respuesta desde el host. En otras palabras, la ejecución del programa es suspendida hasta recibir una respuesta, por lo que no es posible ejecutar procesos adicionales mientras se espera una respuesta.

  6. Abriendo una Conexión El siguiente código Visual Basic usa las propiedades del objeto ActiveLINCConnection para conectarse a una aplicación residente en el host: Dim result As ResponseCode alOK = 100 With LINCApp ApplicationName = “SAMPLE 1" PackagePrefix = "com.unisys" BundleName = "all" IPAddress = "190.190.1.1.252" PortNo = "2449" ViewName = “SAMPLE" End With result = LINCApp.Connect If result <> alOK Then MsgBox "Falló a Conexión Error Nº " & Str$(result) Else MsgBox "Enlace con NX Exitoso", vbInformation End If

  7. Después de abrir una conexión Después de ejecutar el código anterior, la aplicación Visual Basic se conectará la aplicación residente en el host y referenciada por la variable viewname, Una vez que el cliente se conecta, la aplicación retornará la pantalla inicial (Ispec Fireup) para la aplicación cliente, si el sistema no tiene pantalla inicial necesitaras cargar un primer Ispec, o modificar la versión de la dll para que esta cargue el Ispec que tu quieras.

  8. Métodos Método Connect El método Connect abre una conexión entre aplicación cliente y el sistema residente en el host usando las propiedades anteriormente señaladas. Estas propiedades deben ser llenadas antes de utilizar el método connect, de lo contrario la conexión fallará.

  9. Métodos Método Connect Sintaxis : Object.Connect Retorno : un código de respuesta indica el resultado del intento de conexión. Dim result As ResponseCode alOK = 100 With LINCApp ApplicationName = “SAMPLE2" PackagePrefix = "com.unisys" BundleName = "all" IPAddress = "190.190.1.1.252" PortNo = "2449" ViewName = “SAMPLE2" End With result = LINCApp.Connect If result <> alOK Then MsgBox "Falló a Conexión Error Nº " & Str$(result) Else MsgBox "Enlace con NX Exitoso", vbInformation End If

  10. Métodos Método CreateIspec El método CreateIspec crea una nueva instancia de un Ispec. Esto le permite al programador trabajar con Ispec distintos en una misma formulario Visual Basic. Sintaxis: Object.CreateIspec( Ispecname ) Retorno: Un objeto tipo LINCIspec conteniendo la información del Ispec. Ejemplo: (Crea nevas instancias para 2 objetos Ispec) Dim objCustIspec as LINCIspec Dim objProdtIspec as LINCIspec Set objCustIspec = LINCAPP.CreateIspec(“CUST”) Set objProdtIspec = LINCAPP.CreateIspec(“PROD”) Set LINCAPP.CurrentIspec = objCustIspec ‘Obtiene próximo nombre del producto LINCAPP![MAINT] = “NEX” LINCAPP.Transmit msgbox LINCAPP![NAME] Set LINCAPP.CurrentIspec = objProdtIspec‘Obtiene próximo nombre del cliente LINCAPP![MAINT] = “NEX” LINCAPP.Transmit msgbox LINCAPP![NAME]

  11. Métodos Método GetError Este método retorna un mensaje de error enviado desde la aplicación host. Sintaxis : Object.GetError( ErrorNo ) Retorno : Un string conteniendo el mensaje de error Ejemplo : (Muestra todos los Errores asociados al objeto LINCAPP en mensajes distintos) For Icount = 1 to LINCAPP.NoErrors MsgBox LINCAPP.GetError(ICount) Next ICount

  12. Métodos Método Page2Recall El método Page2Recall provee una manera de hacer volver un ispec usando el nombre de la página2. Es equivalente al método CreateIspec pero utilizando un Ispec Existente. Sintaxis : Object.Pae2Recall(<nombre del ispec>) Retorno : Un valor booleano indicado si el Ispec fue llamado. True si el Ispec fue llamado correctamente y False si el Ispec no fue llamado. Ejemplo : LINCAPP.Page2Recall(“MENU”)

  13. Métodos Método Transmit El método Transmit se usa para enviar el Ispec actual a la aplicación en el servidor para su procesamiento. Sintaxis : Object.Transmit Retorno : Un código de respuesta indicando el resultado de la trasmisión. Ejemplo : LINCAPP![CUSTNO] = 1234 LINCAPP![MENU] = “INQ” LINCAPP.Transmit MsgBox LINCAPP![CUSTNAME] Este Ejemplo setea los campos CUSTO y MENU en el Ispec Actual, Envía el Ispec Actual para que el host lo procese y la aplicación cliente espera por la respuesta del servidor. Cuando el host contesta la aplicación cliente despliega el contenido del campo CUSTNAME en un menssage box.

  14. Propiedades Propiedad ActiveIspecName La propiedad ActiveIspecName retorna el nombre de el Ispec actual activo, Que es esto, El ultimo Ispec enviado desde la aplicación en el host. Sintaxis : Object.ActiveIspecName Retorno : El nombre de el último Ispec enviado por el servidor Ejemplo : If LINCAPP.ActiveIspecName <> “MENU” Then LINCAPP![NXTSCREEN] = “MENU” LINCAPP.Transmit End If Este Ejemplo checkea si el nombre del Ispec actual es “MENU”. Si este no es “MENU”, se setea un campo llamado NXTSCRENN con MENU y se envía el Ispec Actual a la aplicación en el Host.

  15. Propiedades Propiedad ApplicactionName Esta propiedad especifica el nombre de la aplicación y debe ser seteada antes de llamar al método de conexión. Sintaxis : Object.ApplicationName Retorno : Nombre de la aplicación Actual Ejemplo : LINCAPP.ApplicationName = “MYSYS”

  16. Propiedades Propiedad ApplicationPrefix La propiedad ApplicationPrefix especifica el nombre del prefijo de la aplicación. Esta opción es utilizada en conjunto con la propiedad ApplicationName para localizar las classes Java los que describen la información de los Ispec in la aplicación host. Sintaxis : Object.ApplicactionPrefix Retorno : El prefijo de la aplicación actual. Ejemplo : LINCAPP.ApplicationPrefix = “com.unisys”

  17. Propiedades Propiedad BundleName La propiedad BundleName especifica el Nombre de un subconjunto de classes Java para ser usadas cuando se acceda a la aplicación Host. Su valor por defecto es “ALL”. Sintaxis : Object.Bundlename Retorno : El nombre del Bundle Actual Ejemplo : LINCAPP.BundleName = “ALL”

  18. Propiedades Propiedad colLINCFields La propiedad colLINCFields retorna una colección de objetos en el Ispec Actual. Cada Objeto en el interior de de la colección es un Objeto LINCFields describiendo un campo en el Ispec Actual. Sintaxis : Object.colLINCFields Retorno : Una colección de Objetos LINCFields

  19. Propiedades Propiedad DomainName La propiedad DomainName especifica el nombre del dominio para usarlo cuando conectamos Enterprise Appplication System a Windows NT o 2000. Sintaxis : Object.DomainName Retorno : El nombre del Dominio Actual Ejemplo : LINCAPPP.DomainName = “.”

  20. Propiedades Propiedad FireUp Esta es una propiedad opcional que setea el nombre del primer Ispec para que sea llamado inmediatamente después que se establezca la conexión con la aplicación host. Si la propiedad no esa establecida la aplicación hace un “HI” la aplicación host y espera el FireUp definido por esta. Sintaxis : Object.FireUpIspec Retorno : El nombre del Ispec FireUp Ejemplo : LINCAPP.FireUpIspec = “PROD”

  21. Propiedades Propiedad IspecCount La propiedad es de solo lectura e indica la cantidad de Ispec que conforman la aplicación cliente. Sintaxis : Object.IspecCount Retorno : El número de de Ispec que conforman la aplicación cliente Ejemplo : iIspec = LINCAPP.IspecCount

  22. Propiedades Propiedad IspecName Esta propiedad es de solo lectura y retorna el nombre del Ispec en la posición especificada en el conjunto de Ispec de la aplicación cliente (Bundle). Sintaxis : Object.IspecName(<Ispec Number>) Retorno : Un string con el nombre del ispec correspondiente a la posición especificada en la propiedad o bien un string vacío si el número del Ispec es mas grande que el numero de Ispec Especificados en el conjunto de Ispec asociados a la aplicación cliente (Bundle)

  23. Errores Códigos de Errores de conexión Códigos de conexión exitosa

  24. Errores Códigos de Errores de conexión Códigos de conexión exitosa

  25. Errores Códigos de Errores en las Transacciones Códigos de respuesta para las transacciones

  26. Errores Códigos de Error en el Protocolo Códigos de respuesta para errores en el protocolo:

  27. Propiedades Propiedad PortNo Esta propiedad especifica el numero del puerto TCP/IP de la aplicación host. El puerto por defecto es el 2449. Sintaxis : Object.PortNo Retorno : El numero del puerto TCP/IP actual Ejemplo : LINCAPP.PortNo = 2449

  28. Propiedades Propiedad StatusLIne La propiedad StatusLine retorna el valor actual de la situación de la aplicación host. Sintaxis : Object.StatusLine Retorno : La situación actual de la aplicación host Ejemplo : sbSttatusBar.SimpliText = LINCAPP.StatusLine El ejemplo anterior setea el texto de la barrar de status de una aplicación Visual Basic con la información extraída de la aplicación host.

  29. Propiedades Propiedad TCPIPAddress La propiedad TCPIPAddress especifica la dirección TCP/IP del host y aplicación o sistema que esta corriendo en este. Esta propiedad debe ser seteada antes de hacer la llamada al método Connect. Sintaxis : Object.IPAddress Retorna : El numero IP del host actual Ejemplo : LINCAPP.IPAdress =“102.39.46.230”

  30. Propiedades Propiedad Usercode La propiedad Usercode define el código de usuario para usar cuando la aplicación cliente se conecte a la aplicación host. Sintaxis : Object.Usercode Retorno : El usercode actual Ejemplo : LINCAPP.Usercode = “LINCUSER”

  31. Propiedades Propiedad ViewName La propiedad ViewName especifica el nombre de la View usada para conectarse a la aplicación host. El nombre de la View define el actual sistema host en uso. Esta también puede definir detalles como el idioma del código usado, el usuario y la password. Sintaxis : Object.ViewName Retorno : El nombre actual de la View Ejemplo : LINCAPP.ViewName = “MYSYS”

  32. Propiedades Propiedad LINCFields La propiedad LINCFields describe un objeto en un Ispec. Un Ispec contiene una colección de objetos LINCFileds. Donde cada objeto LINCFileds describe las propiedades de un campo en el Ispec. El índice para cada objeto LINCField en un Ispec es su dataname. Esto les permite a los atributos de un LINCFields que sean accedidos usando técnicas de procesamiento de colecciones estándar de Visual Basic. Por ejemplo el siguiente ejemplo recorre todos los campos en un Ispec usando un loop, desplegando el nombre y el contenido del campo en un message box. Dim LINCField as LINCField For Each LINCField in LINCAPP.colLINCFields Msgbox LINCField.name & “=” & LINCField.value Next LINCField También podemos accesar al valor de un campo de las siguientes formas txtCustName.text = LINCAPP.colLINCFields(“CUSTNAME”) .value txtCustName.text = LINCAPP![CUSTNAME]

  33. Propiedades Propiedad CopyFrom Fields El componente Enabler le asigna a cada campo en un “Copy.From area” un unico nombre. Por ejemplo, determinando al campo llamado CUSTNO en un “Copy.From area”, la copy de CUSTO en la segunda linea de el Copy.From area va a ser determinado con el nombre CUSTNO_AT_01, y la copia en la tercera linea será CUSTNO_AT_02. De esta manera el campo dentro de un Copy.From area debiera ser accesado directamente por el nombre del campo usando una sintaxis similar a la sintaxis descrita anteriormente y a la que se indica a continuación: txtCustNo.text = LINCAPP![CUSTNO_AT_01] txtCustNo.text = LINCAPP![CUSTNO_AT_02] ... Alternativamente podemos obtener el valor de la variable de la siguiente forma. txtCustNo.text = LINCAPP.colLINCFields(“CUSTNO”,1).value Esta segunda forma nos permite acceder a los valores de los campos fácilmente a través de un loop.

  34. Propiedades de la Propiedad LINCField Propiedad FieldLength La propiedad FielLength retorna el largo del campo LINCField seleccionado. Sintaxis : Objectname.FieldLength Retorna : El largo del campo LINCField seleccionado Ejemplo : msgbox “CUSTNAME es de” & LINCAPP.colLINCFields(“CUSTNAME”).FieldLength & _ “ caracteres de largo”

  35. Propiedades de la Propiedad LINCField Propiedad FieldType La propiedad FieldType retiorna el tipo de campo LINCFields seleccionado. Sintaxis : Objectname.FieldType Retorna : El tipo de campo LINCFields Ejemplo : If LINCAPP.colLINCFields(“CUSTNAME“).Fields =“A” Then Msgbox “Custname es un campo alfabético” End If

  36. Propiedades de la Propiedad LINCField Propiedad Name La propiedad Name retorna el nombre del campo LINCField. Sintaxis : ObjectName.Name Retorna : El nombre del campo LINCField Ejemplo : Msgbox “El nombre del primer campo es :” & _ LINCAPP.colLINCFields(1).Name

  37. Propiedades de la Propiedad LINCField Propiedad Value La propiedad Value retorna el valor del campo LINCField. Sintaxis : ObjectName.Value Retorna : El valor del campo LINCFields Ejemplo : Msgbox “El valor del el campo CUSTNO es ” & _ LINCAPP.colLINCFields(“CUSTNO”).value También puede ser escrito de la siguiente forma: Msgbox “El valor del el campo CUSTNO es ” & LINCAPP![CUSTNO]

  38. Propiedades de la Propiedad LINCField Propiedad DecimalPlaces La propiedad DecimalPlaces retorna el número de posiciones decimales del campo LINCFields seleccionado. Sintaxis : Objectname.DecimalPlaces Retorno : El número de posiciones decimales del campo LINCFields Ejemplo : If LINCAPPFilelds(“BALANCE”).Fileype = “N” Then magbox “El campo BALANCE cuenta con ” & _ LILNCAPP.colLINCFields(“BALANCE”).DecimalPlaces End If

  39. Ejemplo Visual Basic Consulta de Exhortos Después de generar la aplicación cliente del sistema de juzgado se hizo una prueba utilizando ALVB.DLL

  40. Ejemplo Visual Basic Consulta de Exhortos El código fuente que se utilizó para la conexión fue el siguiente: Private Sub Co_Conectar_Click() Dim result As ResponseCode LINCApp.ApplicationName = "LCJUZB" LINCApp.PackagePrefix = "com.unisys" LINCApp.BundleName = "all" LINCApp.IPAddress = "190.190.1.252" LINCApp.PortNo = "2449" LINCApp.ViewName = "LCJUZB" result = LINCApp.Connect If result <> alOK Then MsgBox "Falló a Conexión Error Nº " & Str$(result) Else MsgBox "Enlace con NX Exitoso", vbInformation End If End Sub

  41. Ejemplo Visual Basic Consulta de Exhortos Luego para parametrizar los datos del primer Ispec Se utilizó el siguiente codigo: Private Sub Command1_Click() Dim Ini00Ispec As LINCIspec Set Ini00Ispec = LINCApp.CreateIspec("INI00") Set LINCApp.CurrentIspec = Ini00Ispec Gl_Trans = LINCApp.Name LINCApp![sistema] = "J" LINCApp![codjuz] = "3" LINCApp![codusu] = " 1-9" LINCApp![pasusu] = "JU3" LINCApp.Transmit If Erc% <> 0 Then Exit Sub End Sub

  42. Ejemplo Visual Basic Consulta de Exhortos Después que que fue seteada la página de inicio se accedió directamente a la página de Exhortos y se espero hasta que el usuario ingresar el año y el rut, para de esta forma poder ir a buscar los datos solicitados. Para esto se utilizó el siguiente código Visual Basic. Private Sub transmite() Dim Ini00Ispec As LINCIspec Set Ini00Ispec = LINCApp.CreateIspec("MEXHO") Set LINCApp.CurrentIspec = Ini00Ispec Gl_Trans = LINCApp.Name LINCApp![mant] = "INQ" LINCApp![tippro] = "S" LINCApp![ano] = Form1.Text_ANO.Text LINCApp![numrol] = Form1.text_ROL.Text LINCApp.Transmit verifica-error If Erc% <> 0 Then Call llenaFormConsulta Exit Sub End If End Sub

  43. Ejemplo Visual Basic Consulta de Exhortos Luego de recibir la respuesta desde el host con la información solicitada teníamos que desplegarla por pantalla y para eso utilizamos la siguiente función en Visual Basic: Private Sub llenaFormConsulta() Dim strform As Form1 Form1.Text_FECHAINGRESO.Text = LINCApp.colLINCFields("FECING").Value Form1.Text_NOMBRE.Text = LINCApp.colLINCFields("NOMBRE").Value Form1.Text_RUT.Text = LINCApp.colLINCFields("RUT").Value Form1.Text_SENTECIA.Text = LINCApp.colLINCFields("SENTEN").Value Form1.Text_FECHASENTENCIA.Text = LINCApp.colLINCFields("FECRES").Value Form1.Text_MULTA.Text = LINCApp.colLINCFields("MULTA").Value Form1.Text_SUSPENCION.Text = LINCApp.colLINCFields("DIASUS").Value Form1.Text_VALEVISTA.Text = LINCApp.colLINCFields("VALEVI").Value Form1.Text_FECENVVAL.Text = LINCApp.colLINCFields("FENVALE").Value Form1.Text_BANCO.Text = LINCApp.colLINCFields("BANCO").Value Form1.Text_SUCURSAL.Text = LINCApp.colLINCFields("SUCUR").Value Form1.Text_NJUZGADO.Text = LINCApp.colLINCFields("NUMJUZ").Value Form1.Text_ANTECEDENTES.Text = LINCApp.colLINCFields("ANTECE").Value Form1.Text_OBSERVACIONES.Text = LINCApp.colLINCFields("OBSERV").Value Form1.Text_DIRECCION.Text = LINCApp.colLINCFields("CALLE").Value & _ LINCApp.colLINCFields("NUMERO").Value & LINCApp.colLINCFields("ACLARA").Value Form1.Text_COMUNA.Text = LINCApp.colLINCFields("COMUNA").Value End Sub

More Related