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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Componentes Mercury - como actualizarlos

Hola, nuevamente necesito su ayuda, tengo varios sistemas con Delphi 2007 y los componentes MDO Lib (Mercury Database Objects) para acceder a Firebird , el problema es que no es posible instalar en las ultimas versiones de Delphi y en la página del creador no hay información, hay alguna manera de cambiar componentes de una manera más fácil o si es posible modificar esos componentes para que sea posible instalarlos, muchas gracias a todos.
Responder Con Cita
  #2  
Antiguo 04-09-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Supongo que habra que hacer cambios en los "requires" para adaptarlos a los nuevos delphi:
Código:
requires
  vcl,
  vcldb,
  designide,
  dcldb,
Responder Con Cita
  #3  
Antiguo 05-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Muchas gracias por la respuesta, estos son los errores que da al ejecutar la opción "build all proyects" , me daría el trabajo de dar solución a los problemas pero me gustaría saber la opinión de los que saben más si sería posible hacerlo, nuevamente muchas gracias.
Código:
[dcc32 Hint] MDOCustomDataSet.pas(95): H2365 Override method TMDOStringField.create should match case of ancestor TStringField.Create
[dcc32 Error] MDOCustomDataSet.pas(290): E2037 Declaration of 'AllocRecordBuffer' differs from previous declaration
[dcc32 Error] MDOCustomDataSet.pas(294): E2137 Method 'ClearCalcFields' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(302): E2037 Declaration of 'FreeRecordBuffer' differs from previous declaration
[dcc32 Error] MDOCustomDataSet.pas(304): E2137 Method 'GetBookmarkData' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(305): E2137 Method 'GetBookmarkFlag' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(310): E2137 Method 'GetRecord' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(314): E2137 Method 'InitRecord' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(328): E2137 Method 'InternalInitRecord' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(338): E2137 Method 'InternalSetToRecord' not found in base class
[dcc32 Hint] MDOCustomDataSet.pas(345): H2365 Override method TMDOCustomDataSet.PsGetTableName should match case of ancestor TDataSet.PSGetTableName
[dcc32 Error] MDOCustomDataSet.pas(356): E2137 Method 'SetBookmarkData' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(357): E2137 Method 'SetBookmarkFlag' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(413): E2137 Method 'GetCurrentRecord' not found in base class
[dcc32 Error] MDOCustomDataSet.pas(609): E2072 Number of elements (36) differs from declaration (52)
[dcc32 Error] MDOQuery.pas(374): E2029 ':=' expected but ':' found
[dcc32 Error] MDOQuery.pas(375): E2010 Incompatible types: 'TFieldType' and 'procedure, untyped pointer or untyped parameter'
[dcc32 Fatal Error] MDOCustomDataSet.pas(675): F2063 Could not compile used unit 'MDOQuery.pas'
Responder Con Cita
  #4  
Antiguo 05-09-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Me temo que tendrás que ir solucionando una a una cada línea de error que muestras.
A las malas, si no queda más remedio, creo que será más fácil adaptar tu programa a las IBX.
Responder Con Cita
  #5  
Antiguo 06-09-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si has buscado versiones nuevas de los componentes y no están, la verdad es que tiene mala pinta. Porque los errores no son temas de conversión o de tipos que hayan cambiado, sino que se queja de que hay métodos que no existen. O porque ha cambiado su visibilidad o porque hay que implementarlos.
No parece tarea fácil sin conocer los componentes.

Yo haría una pruebas para cambiar a componentes estandard de delphi, ya sean los IBX o (casi mejor) FireDAC, para ver si son compatibles.

Si finalmente deseas cambiar creo que hay alguna utilidad que te ayuda a cambiar unos componentes por otros (GExperts/cnWizards)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 06-09-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y en qué versión de Delphi estás instalándalo.
Responder Con Cita
  #7  
Antiguo 06-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Me temo que tendrás que ir solucionando una a una cada línea de error que muestras.
A las malas, si no queda más remedio, creo que será más fácil adaptar tu programa a las IBX.
Traté de migrar un sistema pero me pilló el tiempo, pero es factible, lo malo que al hacer los reemplazos de componentes el IDE da errores, entonces dificulta el trabajo

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Y en qué versión de Delphi estás instalándalo.
En Delphi Berlin.

Muchas gracias por sus respuestas.
Responder Con Cita
  #8  
Antiguo 06-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Si has buscado versiones nuevas de los componentes y no están, la verdad es que tiene mala pinta. Porque los errores no son temas de conversión o de tipos que hayan cambiado, sino que se queja de que hay métodos que no existen. O porque ha cambiado su visibilidad o porque hay que implementarlos.
No parece tarea fácil sin conocer los componentes.

Yo haría una pruebas para cambiar a componentes estandard de delphi, ya sean los IBX o (casi mejor) FireDAC, para ver si son compatibles.

Si finalmente deseas cambiar creo que hay alguna utilidad que te ayuda a cambiar unos componentes por otros (GExperts/cnWizards)
Justamente es compatible mi código con los componentes IBX pero el IDE me da errores al comenzar a cambiar los componentes, entonces eso demora el trabajo, voy a investigar si es posible usar esas utilidades y aviso, muchas gracias por su respuesta.
Responder Con Cita
  #9  
Antiguo 06-09-2022
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Con reFind, puedes hacer el reemplazo de componentes, propiedades, métodos, cambiar los uses, etc.

Lo usé para migrar de la versión de Firedac en XE3 (TAD) a la de Tokyo (TFD) y hasta sirve para modificar los DPR
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #10  
Antiguo 06-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Cita:
Empezado por movorack Ver Mensaje
Con reFind, puedes hacer el reemplazo de componentes, propiedades, métodos, cambiar los uses, etc.

Lo usé para migrar de la versión de Firedac en XE3 (TAD) a la de Tokyo (TFD) y hasta sirve para modificar los DPR
Voy a a intentar con esa herramienta también, voy informado aquí, muchas gracias !!!
Responder Con Cita
  #11  
Antiguo 07-09-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Esta es la opción de los GExperts: Replace Components, que te permite "mapear" propiedades.

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 08-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Esta es la opción de los GExperts: Replace Components, que te permite "mapear" propiedades.

Don Germán, estoy haciendo unas pruebas y funciona muy bien GExperts reemplazando componentes, este fin de semana voy a trabajar en migrar una aplicación completa y tratando de configurar bien GExperts, muchas gracias por su ayuda.
Responder Con Cita
  #13  
Antiguo 17-09-2022
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Terminé la primera parte de mi trabajo que era dejar funcionando 2 aplicaciones, informo como logré hacerlo:
- GExperts reemplacé los componentes, sin mayores problemas.

El tema fue con los campos de tipo string , en MDO son de tipo TMDOStringField pero en los componentes para interbase de Delphi son TIBStringField , no me quedó mas remedio que regenerar los campos persistentes en todos los componentes IBCustomDataSet, IBTable, IBQuery. Traté con refind que efectivamente cambiaba en el código el tipo de columna pero al compilar Delphi 2007 entregaba errores, a pesar de esto fue mucho más rápido que hacerlo de manera manual.

Ahora tengo que probar la aplicación completa en ejecución para ver si aparece algún error, pero sus funciones principales no tienen problemas

Nuevamente muchas gracias a Ustedes por su ayuda.
Responder Con Cita
  #14  
Antiguo 17-09-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
MDO (Mercury Database Objects) XE2 FGarcia Conexión con bases de datos 5 19-06-2014 20:33:54
Insertar registros en TClientDataSet para no actualizarlos delphijm Conexión con bases de datos 9 11-02-2011 20:05:51
MDO(Mercury) vs IBX MasterXP Conexión con bases de datos 2 24-07-2007 19:58:53
Mercury (MDO) e FiBPlus Gabriel Conexión con bases de datos 3 03-11-2005 17:23:15
Error al intentar Instalar las mercury database objects DantePuerta OOP 0 22-02-2005 21:14:13


La franja horaria es GMT +2. Ahora son las 00:53: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