4.2. Creación de cliente COM.

4.2. Creación de cliente COM

1. En el menú Archivo, seleccione la opción Nuevo Proyecto, seleccione EXE Estandar y haga clic en Aceptar. Se creara Form1 de forma predeterminada. 

2. En el menú Proyecto, haga clic en la opción Propiedades del proyecto y a continuación, seleccione la ficha General.

3. En el campo Nombre del Proyecto escriba DCOMDemoEvents_Cli 

4. En el campo Descripción del proyecto escriba DCOMDemoEvents_Cli  proyecto-cliente y haga clic en Aceptar para cerrar el cuadro de dialogo de Propiedades del proyecto. 

5. En el menú Proyecto, seleccione Referencias y agregue una referencia a DCOMDemoEvents_Svr-Server. 

6. En la sección General Declarations de Form1, incluya la siguiente línea:  

Dim WhitEvents MyEventObj As DCOMDemoEvents_Svr.Class1


Esto declara el objeto de servidor con los eventos. Después de escribir en esta linea, debería ver MyEventObj en la lista de objetos para este formulario. La lista de objetos del formulario se encuentra en el cuadro combinado superior izquierdo en el modulo de código del formulario.


7.En la lista de objetos del formulario, seleccione MyEventObj. El vacio se crea MyEventObj_TimeUpdate Sub. Escriba la siguiente línea de código:


MsgBox “Event from Server received. Time =” & sTime

   8. Ponga en un botón command en Form1 y cambie el titulo a Ejecutar con Eventos.    

      9. Coloque el código siguiente en el botón, haga clic en el evento:

On Error Go To err1

Set MyEventObj = CreateObject(“DCOMDemoEvents_Svr.Class1”)

MyEventObj.CallMeBack

Exit Sub

Err1

MsgBox “Error:” & Err.Number & “ – “ & Err.Description

    10. Coloque un segundo botón de comando en Form1 y cambie el titulo del botón a Ejecutar sin Eventos. 

    11. Coloque el código siguiente en el botón, haga clic en evento

  • Dim MyObj As DCOMDemoEvents_Svr.Class1

    On Error Go To err1

    Set MyObj = CreateObject(“DCOMDemoEvents_Svr.Class1”)

    MsgBox “Server time without events: “ & MyObj.ServerTime

    Exit Sub

    err1

    MsgBox “Error:  “ & Err.Number & “ – “ & Err.Description
     12. Una vez que haya hecho esto, el código del formulario debe ser el siguiente:

  • Option Explicit

    Dim WithEvents My EventObj As DCOMDemoEvents_Svr.Class1

    Private Sub Command1_Click()

    On Error GoTo err1

    Set MyEvetObj = CreateObject(DCOMDemoEvents_Svr.Class1”)

    MyEventObj.CallMeBack

    Exit Sub

    err1

    MsgBox “Error: “ & Err.Number & “ – “ & Err.Description

    End Sub

    Private Sub Command2_Click()

    Dim MyObjAs DCOMDemoEvents_Svr.Class1

    MsgBox “Server time whitout events: “ & MyObj.ServerTime

    Exit Sub

    err1

    MsgBox “Error:  “ & Err.Numer & “ – “ & Err.Description

    End Sub

    Private Sub MyEventObj_TimeUpdate(sTime As String)

    MsgBox “Event from Server received. Time=” & sTime

    End Sub
    13. En el menú Archivo, seleccione Guardar como y guarde el proyecto en la carpeta del cliente, c:\DCOMDemoEvents\Client. 


   14. Presione el botón F5 para ejecutar al cliente en el IDE y probarlo. Tenga en cuenta que esta prueba es local para el equipo del desarrollo en este memento. Se está ejecutando el servidor de archivo EXE de ActiveX.


    15. En el menú Archivo, seleccione Hacer DCOMDemoEvents_Cli para compilar al cliente, y cerramos Visual Basic.