Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Question Error en Emulación de BDE usando dbExpress

Hola,

Para migrar aplicaciones BDE en Delphi 4 a dbExpress con Delphi 2007 he estado desarrollando una librería que emule los componentes BDE usando como capa interna dbExpress. Mi estrategia ha sido crear componentes con los mismos nombres de los del BDE, que desciendan de sus homólogos dbExpress. Esto me permitiría migrar transparentemente sin necesidad de re-escribir código.

Las cosas estaban saliendo bien, la unidad era pequeña (menos de 6k) y el paquete había registrado los componentes TDatabase, TQuery, etc; pero en un momento dado me encontré con una funcionalidad que cambió la forma de almacenarse en los dfm y para corregirla necesito corregir la propia unidad SqlExpr de CodeGear. Para ello pensé que lo mejor era mezclarlo todo en mi unidad, generando una versión grande de la misma; pero al hacerlo, y tratar de instalar de nuevo el paquete, me marca un error diciendo que no puede registrarlos porque otro paquete (el dclBDE100.Bpl, del cual no aparece el fuente) ya ha registrado esos nombres.

Lo raro es que siempre que uso la versión pequeña de mi unidad, los componentes se registran bien; es decir, Delphi me permite registrar componentes que tengan el mismo nombre. Yo supongo que lo hace porque están en paquetes distintos y se registran en páginas distintas.

Ahora bien, la pregunta es por qué falla al usar la versión grande ?. Yo supongo que de alguna forma, al incorporar directamente a ella referencias a una serie de unidades de la unidad original SqlExpr se está involucrando una referencia a una unidad que requiera del registro de TDatabase y compañía. Busqué en los fuentes Codegear y el único punto de registro de TDataBase y demás es la unidad BDEReg; pero se supone que el paquete dbExpress no debe contener referencias a BDE, luego, qué pasa ?. Alguién tiene una idea.

Última edición por rolandoj fecha: 10-09-2007 a las 17:28:32. Razón: Nombre de unidad mal escrito
Responder Con Cita
 



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
conectar postgresql usando dbexpress barrauda Conexión con bases de datos 4 16-07-2007 13:45:04
manejo de errores de base de datos usando dbexpress e interbase ramirezjas Conexión con bases de datos 1 07-07-2007 21:15:13
Error usando wininet Metalmind API de Windows 2 13-05-2006 12:03:52
Error usando TMemoryStream Abaddon Varios 2 04-03-2005 10:59:40


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


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