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

Creando objetos COM y registrándolos

Estas en el tema de Creando objetos COM y registrándolos en el foro de .NET en Foros del Web. Había iniciado otro tema ( http://www.forosdelweb.com/showthread.php?t=342238) , pero como la cuestión ha cambiado a otros derroteros, supongo que es mejor abrir uno nuevo. La cuestión ...
  #1 (permalink)  
Antiguo 19/10/2005, 08:21
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Creando objetos COM y registrándolos

Había iniciado otro tema (http://www.forosdelweb.com/showthread.php?t=342238), pero como la cuestión ha cambiado a otros derroteros, supongo que es mejor abrir uno nuevo. La cuestión es generar con .Net un objeto COM para poder usarlo en ASP 3.0. Os dejo el código que tengo hasta ahora más abajo. El problema me surge a la hora de registrar la DLL generada en otro equipo:

"Cifrados.dll se cargó, pero no se encontró el punto de entrada DllRegisterServer"

He seguido al pie de la letra, o eso creo, las instrucciones de Microsoft pero nada.

Código:
Imports System.Security.Cryptography

<ComClass(CifSha1.ClassId, CifSha1.InterfaceId, CifSha1.EventsId)> _
Public Class CifSha1

#Region "COM GUIDS"
    Public Const ClassId As String = "5942C6A2-5F93-4abb-8FD0-23971D5282E6"
    Public Const InterfaceId As String = "D3C3C60F-9CE3-4acd-84E5-664930917254"
    Public Const EventsId As String = "01637B52-B6A8-44b5-A02C-D52B105D7166"
#End Region

    Public Sub New()
        MyBase.New()
    End Sub

    Public Function Cifrar(ByVal Cadena As String, Optional ByVal Codificacion As String = "UTF-8") As String

        ....

    End Function


End Class
Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 19/10/2005, 08:43
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
No se muy bien a que te refieres pero yo cuando he tenido que registrar un componente (un .OCX) lo he hecho desde la línea de comandos:

regsrv32 c:\ruta\nombre.OCX
(o regsvr32 no me acuerdo muy bien)

entonces sale un popup diciendo que registro correcto y ya me deja utilizar dicho componente en otro equipo.

Espero que te sirva y que sea eso lo que buscas.
  #3 (permalink)  
Antiguo 19/10/2005, 08:47
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Sí sí, claro, eso mismo es lo que hago yo, sólo que en lugar del mensaje de "registro correcto" me sale ese error.

Gracias.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 19/10/2005, 08:55
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
He leido esto para reparar archivos dañados del sistema o algo así (quizá tengas regsrv32 dañado),

Inicio->Ejecutar->sfc /scannow

Tambíene esto otro en la página de microsoft (sección mensajes de error)

http://support.microsoft.com/default...3Bes%3BE249873
  #5 (permalink)  
Antiguo 19/10/2005, 09:04
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
No creo, porque lo he probado en varios equipos e incluso en el servidor de mi hosting. Tiene que ser cosa del componente, aunque en el equipo en el que lo he creado VS.Net lo registró automáticamente y lo puedo usar sin problemas en ASP.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 19/10/2005, 09:26
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
El código yo creo que daría error al ejecutar no al registrar, en el registro lo único que haces es eso, registrar. Pero bueno, ya te digo, que no controlo mucho del tema.
  #7 (permalink)  
Antiguo 19/10/2005, 09:34
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Lo que creo que hay que definir en algún sitio del código ese dichoso punto de entrada de la DLL. Creo que es algo así como una función que le dice a regsrv32 qué tiene que registrar y con qué nombres.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #8 (permalink)  
Antiguo 19/10/2005, 10:02
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Hmm, veo que estás confundiendo las cosas, con regsvr32 registras objetos COM propiamente dichos, si quieres registrar un "componente" .NET para que pueda usarse como cualquier otro objeto COM, entonces tienes que usar regasm y si deseas que esté disponible para todos, también debes ponerlo en el GAC.

http://msdn.microsoft.com/library/sp...lregasmexe.asp

Saludos
PS. Puedes ver un ejemplo que puse hace tiempo.
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #9 (permalink)  
Antiguo 19/10/2005, 10:33
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Hey muchas gracias. Ese era justo el problema.

Es lo que pasa por meterse en temas que uno no controla para solucionar problemillas pasajeros. Que gran vagaje mental, je je.

Muchísimas gracias xknown por encontrar la tuerca exacta y a tí también Jose_minglein2 por darle al coco conmigo.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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:56.