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.
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.Class1On Error Go To err1Set MyObj = CreateObject(“DCOMDemoEvents_Svr.Class1”)MsgBox “Server time without events: “ & MyObj.ServerTimeExit Suberr1MsgBox “Error: “ & Err.Number & “ – “ & Err.Description
12. Una vez que haya hecho esto, el código del formulario debe ser el siguiente:
- Option ExplicitDim WithEvents My EventObj As DCOMDemoEvents_Svr.Class1Private Sub Command1_Click()On Error GoTo err1Set MyEvetObj = CreateObject(DCOMDemoEvents_Svr.Class1”)MyEventObj.CallMeBackExit Suberr1MsgBox “Error: “ & Err.Number & “ – “ & Err.DescriptionEnd SubPrivate Sub Command2_Click()Dim MyObjAs DCOMDemoEvents_Svr.Class1MsgBox “Server time whitout events: “ & MyObj.ServerTimeExit Suberr1MsgBox “Error: “ & Err.Numer & “ – “ & Err.DescriptionEnd SubPrivate Sub MyEventObj_TimeUpdate(sTime As String)MsgBox “Event from Server received. Time=” & sTimeEnd 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.