Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2016
gaunmanuel gaunmanuel is offline
Miembro
 
Registrado: may 2015
Posts: 48
Poder: 0
gaunmanuel Va por buen camino
Error Accessing the OLE Registry

Que tal, buenas tardes.
Tengo una detalle con una libreria COM, no se si asi se le llama... pero les comento:
Cree una libreria en C#.net y dicha libreria se importo a Delphi 7.0 y se creo un componente, todo funciona correctamente en la maquina donde estoy desarrollando...
Sin embargo cuando la aplicación de Delphi la ejecuto en otra maquina, me muestra el siguiente mensaje:
Cita:
Error accessing the OLE registry
tienen alguna idea de que necesito para que funcione en cualquier computadora.

gracias.
Responder Con Cita
  #2  
Antiguo 23-11-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Probablemente la libreria no se ha registrado. Deberias comprobar si esta compilada en modo "AnyCPU" ya que podria darse el caso que tu app (32-bit, ya que dices esta creada con Delphi 7) se ejecute en una maquina x86-64 y en este caso la libreria no funcionaria ya que lo de "AnyCPU" significa que se ejecuta en modo 64-bit en plataformas x86-64 y en modo 32-bit en plataformas x86. Si creas librerias COM con .NET debes compilarlas para la plataforma especifica en la que se usen, es decir-> nunca debe usarse "AnyCPU" .

Aparte de lo anterior, deberias haber especificado el sistema operativo...etc, mas que nada para no dar palos de ciego.


Yo vengo del mundo .NET (aunque no soy programador) y te puedo asegurar que aunque con .NET se pueden crear "librerias COM" y "controles OCX" estos dan muchos problemas y requieren mucha memoria (cargan el .NET Framework) y no basta con activar la casilla "Registrar para interoperabilidad COM" en las propiedades del proyecto. Lo ideal es crearlos con Visual C++ o incluso con Delphi.

Un saludo
Responder Con Cita
  #3  
Antiguo 23-11-2016
gaunmanuel gaunmanuel is offline
Miembro
 
Registrado: may 2015
Posts: 48
Poder: 0
gaunmanuel Va por buen camino
Gracias exmachina.
tienes razón estas librerias dan muchos problemas, ya lo intente especificando la plataforma, pero aun asi sale el mismo mensaje.
Creo que lo dejaremos así, optare por otra forma, quiza hacer una aplicacion de consola y ejecutarla con parametros desde delphi.

muchas gracias por tu respuesta.
saludos.
Responder Con Cita
  #4  
Antiguo 25-11-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Hola. Creo que el problema es que no esta registrada. ¿Como la registras en la otra maquina?. Yo use Regasm.exe y funciono bien (Innosetup tambien lo usa para estas tareas); mediante programación, con .NET, puedes usar la clase RegistrationServices.

Lo unico que creo que puede ser diferente es que yo NO cree un ensamblado en el que se exponia alguna cosa a COM-> Yo cree una libreria cuya unica finalidad era usarse con COM y para ello primero defini la interfaz y despues cree su implementacion ("CoClass", como en delphi o C++), por ejemplo:

Código:
namespace COMe
{
    [Guid("........El que sea.........")]
    [InterfaceType(ComInterfaceType.InterfaceIsDual)]
    public interface IPatatin
    {
        [DispId(1)]
        int a { get; set; }
        [DispId(2)]
        int b { get; set; }
        [DispId(3)]
        int c { get; set; }
        [DispId(4)]
        int d ()
    }

    //
    // IMPLEMENTACION
    //
    [Guid("........El que sea.........")]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("COMe.Patatin.1")]
    public class Patatan: IPatatin
    {
        public int a { get; set; }
        public int b { get; set; }
        public int c { get; set; }

        public int d()
        {
            throw new NotImplementedException();
        }
    }

}
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi Prefix Registry Crandel Noticias 6 17-04-2008 00:37:50
HTTPRIO y el Registry ¿unica opción? kaopectate Internet 5 08-11-2007 17:21:35
Registry acertij022 API de Windows 2 20-02-2007 00:24:18
Mail en Registry OmarPerez Varios 0 20-01-2005 16:58:07
The registry information is missing Giasl Firebird e Interbase 0 02-06-2003 17:51:31


La franja horaria es GMT +2. Ahora son las 05:34:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi