Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como hacer referencia a un DLL en red en visual basic

Estas en el tema de como hacer referencia a un DLL en red en visual basic en el foro de Visual Basic clásico en Foros del Web. hola tengo un problema estoy programando en 3 capas pero me han pedido de que el dll que yo genera solo debe estar en una ...
  #1 (permalink)  
Antiguo 13/06/2004, 17:27
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
como hacer referencia a un DLL en red en visual basic

hola tengo un problema estoy programando en 3 capas pero me han pedido de que el dll que yo genera solo debe estar en una maquina servidor y en las demas maquinas solo debe estar la aplicacion de visual basic como hago para hacer referencia a un dll que supuestamente va estar en otra maquina
por favor necesito una ayuda
gracias de antemano
  #2 (permalink)  
Antiguo 15/06/2004, 14:43
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
Son varias cosas

Programación en tres capas.
1° En la Programación del lado del cliente si se instala la Dll, pero con una diferencia: (cual es?) cuando se hace referencia a esta dll, se hace con:
dim obj as new object
set obj=new createobject("nombre de clase de la dll")
2° En el Servidor tienes que generar un exportable de extension (*.msi) de cada Dll que necesites.
3° Este exportable que has generado en el servidor tienes que instalarlo en el cliente.
4° a disfrutar de las Dll's distribuidad, cuando compiles o actualices tus dll en el lado del servidor asegurate compilarlo con compatibilidad binaria, asi no tendras que distribuirlo otra vez, cada vez que realices un cambio.

Es todo
__________________
Nadie tiene la ultima palabra :arriba:
  #3 (permalink)  
Antiguo 17/06/2004, 07:56
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
hola tony_pe gracias por tu respúesta pero tengo una duda
mira imaginate que tengo esta structura

Funciones.Dll
Clase1.Cls
Public Function Mensa() as string
mensa="Hola Mundo"
End Function

Proyecto1 (Standard)
Form1_
Boton1_Click
segun lo que dices tu aqui tendria que hacer
Dim Xvar as Object
set XVar=new createobject("Funciones.Clase1")
msgbox xvar.mensa()
set Xvar=nothing


Ya el problema es el sgte Yo quiero que el dll se encuentre en una maquina servidor y en los clientes que van a hacer 5 maquinas solo quiero tener la aplicacion en vb ahora el DLL donde lo genero??? en el servidor o que????
se supone que el DLL debe estar en el servidor nada mas
  #4 (permalink)  
Antiguo 17/06/2004, 11:27
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
Hola Tony_p probe loq ue dijiste de exportar el DLL y lo instale en uan maquina cliente y me parece que lo que hace ese MSI es copiar el DLL en el cliente ya que cuando desconecte la red me seguia saliendo normal cuando se supone que debia salir error ya que el dll al cual yo estaba dirigiendome estaba en el servidor y se habia corta la red
te agradeceria de antemano que me ayudaras con esto
  #5 (permalink)  
Antiguo 18/06/2004, 14:19
 
Fecha de Ingreso: junio-2004
Mensajes: 18
Antigüedad: 19 años, 10 meses
Puntos: 0
????

A ver amigo, para poder ayudarte mejor quizá cuantame un poco mas de tu aplicación para tener una idea generica de lo que deseas hacer.
Lo que pasa con las aplicaciones de 3 o n capas es que la capa intermedia es la que administra solicitudes o requerimientos al servidor, el objetivo fundamental es eso, efectivamente la Dll se copia en el cliente, pero internamente solo importa el ProgID del Dll y la direccion del servidor de la DLL (que es el nombre o la IP del Servidor donde reside tu dll, este nombre o dirección se genera cuando tu creas el exportable de la dll, ojo no me refiero a generar un instalador de la dll), ya que este va ha apuntar al DLL que se encuentra instalada en el servidor, efectivamente que la DLL se instanciara pero no localmente sino remotamente y si no existe red no deberia funcionar o deberia salir el un error.
__________________
Nadie tiene la ultima palabra :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:30.