Foros del Web » Programación para mayores de 30 ;) » Programación General »

dll?

Estas en el tema de dll? en el foro de Programación General en Foros del Web. saludos: como puedo crear dll en Visual basic?...
  #1 (permalink)  
Antiguo 20/11/2004, 14:10
 
Fecha de Ingreso: agosto-2003
Ubicación: Viña del mar
Mensajes: 280
Antigüedad: 20 años, 8 meses
Puntos: 0
dll?

saludos:

como puedo crear dll en Visual basic?

  #2 (permalink)  
Antiguo 20/11/2004, 17:13
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Creacion de la DLL
Abrimos Visual Basic y seleccionamos el tipo de proyecto que vamos a crear, en este caso DLL ActiveX

Al elegir esta opcion nos aparecera la ventana de codigo con el archivo creado por defecto llamado Class1, este archivo es un modulo de clase que contendra las funciones de nuestra DLL.
La funcion de nuestra DLL sera la de crear una caja de mensaje (MsgBox) personalizada. Para esto tenemos que agregar a nuestra DLL un formulario (Menu Proyecto > Agregar Formulario). En este agregamos un control Label, un Image y un CommandButton, al control Image le ponemos alguna imagen y la distribucion de los controles la hacemos mas o menos asi

Ahora le modificamos algunas propiedades, al formulario (Form1)
• BorderStyle = 3 Fixed Dialog
• StartUpPosition = 2 CenterScreen
A el control Command1 le ponemos
• Caption = Aceptar
Ahora dentro del codigo del formulario ponemos
Private Sub Command1_Click()
Unload Me
End Sub
Lo que hace este codigo es descargar el formulario cuando se hace click en el boton Command1, ahora cerramos el formulario, abrimos Class1 y dentro de este agregamos el siguiente codigo
'Creamos un Sub con dos parametros del tipo string (cadena de texto)
Public Sub MostrarMensaje(Titulo As String, Mensaje As String)

'definimos una variable con la cual haremos referencia al formulario
Dim Formulario As Form
'le decimos a VB que Formulario sera igual al Form1
Set Formulario = New Form1
'establecemos la variables
'en el caption del formulario ponemos el titulo pasado como parametro
Formulario.Caption = Titulo
'en el label del control label1 ponemos el mensaje
Formulario.Label1.Caption = Mensaje
'mostramos el formulario de forma modal
Formulario.Show vbModal
End Sub
Una ves hecho esto modificamos la propiedad Instacing de Class1 a 6 GlobalMultiUse, lo que hace esta propiedad es no tener que definir previamente una variable para tener que usar esta Clase.
Lo que haremos ahora es guardar y compilar nuestra DLL (Menu Archivo > Generar ...). Una ves hecho esto ya tenemos la DLL lista para ser utilizada.
Creacion del Programa que use nuestra DLL
Ahora crearemos un programa que haga uso de nuestra DLL para ello hacemos click en Archivo > Nuevo Proyecto y elejimos EXE Standar, una ves hecho esto vamos al menu Proyecto > Referencias y elegimos nuestro proyecto creado anteriormente en este caso Proyecto1

Al hacer esto estamos vinculando nuestro programa con la DLL creada y podemos utilizar todas sus funciones, en este caso utilizaremos la unica funcion que tiene llamada MostrarMensaje para ello en el form1 agregaremos un CommandButton y dentro del codigo pondremos lo siguiente

Código PHP:
Private Sub Command1_Click()
mostrarmensaje "titulo""mensaje"
End Sub 
Bueno, ahora corremos nuestro proyecto, hacemos click en el boton y si todo salio bien veremos el cuadro de mensaje creado por nosotros
  #3 (permalink)  
Antiguo 22/11/2004, 06:20
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 1 mes
Puntos: 1
Nuevo Proyecto Activex
Ahi Creas Tu Funciones
Function Suma() As Integer
....
End Function
Luego Lo Compilas Archivo Generar Dll
Luego Abres Tu Proeycto Standarr Y Te Vas A Proyecto Referencias Y Escoges Tu Dll
Luego En El Form
Dim X As New Proeyctodll.class1 ' Donde Class1 Es El Nombre De La Clase
De Ahi Label1.caption= X.suma()
Y Listo
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 11:52.