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

Problema al vincular una librería a un formulario windows

Estas en el tema de Problema al vincular una librería a un formulario windows en el foro de .NET en Foros del Web. Hola! Os explico, usando Visual Basic .Net he creado una librería DLL que al invocarla, aparte de otras opciones, crea un fichero txt al que ...
  #1 (permalink)  
Antiguo 21/05/2008, 09:15
 
Fecha de Ingreso: mayo-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Problema al vincular una librería a un formulario windows

Hola!

Os explico,

usando Visual Basic .Net he creado una librería DLL que al invocarla, aparte de otras opciones, crea un fichero txt al que añade una serie de parametros.

He creado otro proyecto que contiene un Windows Form el cual llama a esa librería. He añadido como referencia el proyecto anterior (el de la DLL) pero al intentar llamar al procedimiento definido en la DLL el compilador me dice que no se ha declarado el nombre, me explico...

CÓDIGO DLL:

Public Class Class1

...

Public Sub CrearArchivo(ByVal currentFileName As String)

Try

...

fichero.WriteLine("RUTA DEL FICHERO ANALIZADO: " & currentFileName)
fichero.WriteLine()
fichero.WriteLine("NÚMERO DE PÁGINAS: " & numPages)
fichero.WriteLine("ATRIBUTOS DE LA PRIMERA PÁGINA: " & atrPage)
fichero.WriteLine("NÚMERO DE STROKES DE LA PRIMERA PÁGINA: " & strPage)
fichero.WriteLine("DURACIóN DEL PRIMER STROKE: " & durStroke & " milisegundos")
fichero.WriteLine("NÚMERO DE AREAS: " & numAreas)
fichero.WriteLine("NOMBRE DE AREAS: " & nomAreas)

fichero.Close()

MsgBox("El fichero ha sido generado correctamente")

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End Sub

End Class


LLAMADA AL PROCEDIMIENTO CrearArchivo desde el Formulario:

CrearArchivo(CurrentFileName) ' CurrentFileName es la variable que recoge la ruta del fichero

El error exacto de VB es "No se ha declarado el nombre CrearArchivo".


En el antiguo VB6 con poner la propiedad Instancing de la clase en valor 6 bastaba pero en esta nueva version de VB no consigo encontrar por ninguna parte esta propiedad.

Qué puedo hacer??

Gracias por todo, un saludo.
  #2 (permalink)  
Antiguo 21/05/2008, 10:33
Avatar de panduro  
Fecha de Ingreso: mayo-2008
Ubicación: guadalajara
Mensajes: 16
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al vincular una librería a un formulario windows

mira a mi en lo personal me funciona de la sig manera

creo un proyecto tipo class library
elimino todo el codigo que exista para que empiece completamente en blanco
creo clases de la sig manera

Public Class nombre_de_la_clase
....
....
End Class


se compila para que genere la dll

abro el nuevo proyecto y agrego la dll como referencia

compila de nuevo antes de usarla

y hago referencia a ella de la sig manera


Private Objeto_a_usar As New Nombre_de_la_dll.Nombre_de_la_clase

y ahora solo resta usar el objeto que creaste en la dll

----------------------------------------------------------------------suerte
  #3 (permalink)  
Antiguo 22/05/2008, 02:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema al vincular una librería a un formulario windows

Gracias panduro, en teoría este es el método, ya que lo he probado con un programa sencillo y funciona perfectamente.

El problema que tengo ahora es que, en el proyecto explicado en el primer post, después de rectificarlo tal y como me comentas, a la hora de ejecutarlo me muestra el siguiente error...

"No se puede cargar el tipo prueba5.Class1 del ensamblado prueba5, Version=1.0.3064.16072, Culture=Neutral, PublicKeyToken=Null"

...y ya no me sigue cargando el proyecto

He probado a registrar la dll con regsvr32 desde el CMD pero cuando lo intento me dice lo siguiente...

"Se descargó prueba5.dll, pero no se encontró el punto de entrada DllRegisterServer. No se puede registrar este archivo"

En definitiva, que no puedo cargar el proyecto.

Alguien puede ayudarme?

Un saludo y muchas gracias.
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 16:04.