La Web del Programador: Comunidad de Programadores
 
    Pregunta:  4612 - CREATEOBJECT() ¿PUEDO CREAR OBJETOS DE CLASES REMOTAS?
Autor:  Rodrigo López G.
Hola!
La función CreateObject() de VB ahora (en la versión 6 y creo que en la 5 también) viene con un parámetro opcional: un nombre de servidor.
¿Esto quiere decir que puedo crear objetos a partir de las clases que se encuentren en una aplicación ActiveX (o quizas una DLL ActiveX) residente en un PC remoto? ¿O estoy equivocado?
Si es posible hacer esto, ¿Que debo hacer para que funcione? Yo he intentado muchas veces "instanciar" clases residentes en un PC remoto (dentro de una red local) pero NO ME FUNCIONA. Sin embargo cuando utilizo la función CreatoObject para crear objetos a partir de clases residentes en la misma máquina (cliente y servidor son aplicaciones instaladas en el mismo equipo) todo funciona bien, obviamente (especificando o no especificando el nombre del servidor).
¿Alquien puede ayudarme?
Gracias desde ya!
Chao!

  Respuesta:  Joan Fàbregas
Para que funcione el CreateObject en un ordenador
remoto, necesitas:

->El componente que se ejecutara remotamente tiene que ser un EXE ActiveX.

->El programa DCOM (se puede bajar de la web de microsoft o almenos eso creo), el cual tiene que estar en los dos ordenadores i con las configuraciones de seguridad correctas.

->Tiene que haber al menos una instancia de la clase que quieras ejecutar en el servidor remoto en memoria (o sea, tiene que haber un programa que este ejecutando el componente).

Todo esto es para Windows 95/98, para Windows NT creo que no hacia falta tener una instancia de la clase en memoria.

Si quieres un consejo, no utilizes este procedimiento.
Conozco como se hace porque lo prove hace tiempo, pero el DCOM nos dio muchisimos problemas, hasta el punto que abandonamos el proyecto. Actualmente el Windows 2000 utiliza una nueva tecnologia llamada COM+ para sustituir el DCOM pero no se exactamente como funciona.