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 22-09-2018
leus leus is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 9
Poder: 0
leus Va por buen camino
Bueh, es un poco complicado - tuve una empresa, vendí un software, pero ahora la empresa está, hm, "inactiva" (y yo estoy trabajando en otra parte). Pero los clientes siguen usando el software y yo, que tiendo a valorar mi nombre, les sigo dando soporte como un gil.

Mi filosofía respecto del soporte es intentar evitar dar soporte - para eso, sigo manteniendo el software. A veces me paso días desarrollando cosas que me evitarán una hora de soporte :-)

En eso estoy ahora. Estoy intentando actualizar mi software porque quiero compilarlo en Tokyo. No quiero tener que usar máquinas virtuales para tener Delphi XE en un lado y Tokyo en otro... prefiero usar un solo IDE.

En fin, sigo investigando, y veo que hubo cambios en XE3 en la manera que los TField obtienen sus datos. Pero no tengo el diff - alguien puede ser tan amable de hacer una comparación entre DB.pas de Delphi XE y Data.DB.pas de Delphi Tokyo?
Responder Con Cita
  #2  
Antiguo 22-09-2018
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Suena razonable lo que comentas, leus (dejé algo acá).

Bien, hay dos maneras de resolverlo: Aprovecho que estoy desempleado para analizar esto con detalle, me das acceso por TeamViewer (no tengo esos componentes) y, divirtiéndome mucho, intento diagnosticar por qué ya no te funciona igual el componente proponiendo alguna solución que compartamos con todos. Tal vez un par de semanas basten.

La otra opción es invertir en tu nombre.

Saludos. :-)
Responder Con Cita
  #3  
Antiguo 22-09-2018
leus leus is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 9
Poder: 0
leus Va por buen camino
Al, eso sería genial. A ver si nos podemos coordinar por mensaje interno.

Sí, si me entra un dinero extra probablemente compre una licencia Enterprise. (¡Pero es equivalente a un mes de sueldo!)
Responder Con Cita
  #4  
Antiguo 23-09-2018
leus leus is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 9
Poder: 0
leus Va por buen camino
Ah, creo que encontré el problema, y de momento parece que todo funciona ok.

Las declaraciones de algunos overrides de AnyDAC no eran correctas, por lo que se estaba llamando a las funciones base de TDataset (que no hacen nada). Estos son los cambios necesarios, en caso de que alguien se encuentre con este problema:

Código:
 Source/uADCompDataSet.pas | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Source/uADCompDataSet.pas b/Source/uADCompDataSet.pas
index b324bc9..af9cf96 100644
--- a/Source/uADCompDataSet.pas
+++ b/Source/uADCompDataSet.pas
@@ -758,8 +758,8 @@ type
     procedure GetDetailLinkFields(AMasterFields, ADetailFields: TList); {$IFNDEF AnyDAC_FPC} override; {$ENDIF}
     function GetColumnField(AColumn: TADDatSColumn): TField;
     function GetFieldColumn(AField: TField): TADDatSColumn; overload;
-    function GetFieldData(AFieldNo: Integer; ABuffer: Pointer): Boolean; overload; {$IFNDEF AnyDAC_FPC} override; {$ENDIF}
-    function GetFieldData(AField: TField; ABuffer: Pointer): Boolean; overload; override;
+    function GetFieldData(AFieldNo: Integer; var ABuffer: TValueBuffer): Boolean; override;
+    function GetFieldData(AField: TField; var ABuffer: TValueBuffer): Boolean; override;
 {$IFNDEF AnyDAC_FPC}
     function GetStateFieldValue(AState: TDataSetState; AField: TField): Variant; override;
 {$ENDIF}
@@ -3843,7 +3843,7 @@ begin
 end;
 
 {-------------------------------------------------------------------------------}
-function TADDataSet.GetFieldData(AFieldNo: Integer; ABuffer: Pointer): Boolean;
+function TADDataSet.GetFieldData(AFieldNo: Integer; var ABuffer: TValueBuffer): Boolean;
 var
   pRecBuf: PADBuffer;
   oColumn: TADDatSColumn;
@@ -3983,7 +3983,7 @@ begin
 end;
 
 {-------------------------------------------------------------------------------}
-function TADDataSet.GetFieldData(AField: TField; ABuffer: Pointer): Boolean;
+function TADDataSet.GetFieldData(AField: TField; var ABuffer: TValueBuffer): Boolean;
 var
   pRecBuf: PADBuffer;
 begin
@@ -4004,7 +4004,7 @@ begin
         if AField.DataType = ftBCD then
           CurrToBCD(PCurrency(pRecBuf + 1)^, PADBcd(ABuffer)^)
         else
-          ADMove(pRecBuf[1], ABuffer^, AField.DataSize);
+          ADMove(pRecBuf[1], PADBuffer(ABuffer)^, AField.DataSize);
     end;
   end;
 end;
Responder Con Cita
  #5  
Antiguo 23-09-2018
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Excelente. Qué bueno que pudiste resolverlo ajustando las directivas condicionales.
Responder Con Cita
  #6  
Antiguo 27-09-2018
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Cita:
Empezado por leus Ver Mensaje
Al, eso sería genial. A ver si nos podemos coordinar por mensaje interno.

Sí, si me entra un dinero extra probablemente compre una licencia Enterprise. (¡Pero es equivalente a un mes de sueldo!)
Tienes suerte, yo necesito ahorrar durante unos 2 años evitando los lujos (carne, pan, leche, huevos...) para poder comprar una licencia...
Responder Con Cita
  #7  
Antiguo 28-09-2018
leus leus is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 9
Poder: 0
leus Va por buen camino
Cita:
Empezado por gatosoft Ver Mensaje
Tienes suerte, yo necesito ahorrar durante unos 2 años evitando los lujos (carne, pan, leche, huevos...) para poder comprar una licencia...
El equivalente a UN MES DE SUELDO, no ahorrar por un mes :-) - no se tú, pero a mí el sueldo me alcanza apenas
Responder Con Cita
  #8  
Antiguo 28-09-2018
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Mes y medio
Responder Con Cita
  #9  
Antiguo 28-09-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.046
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿De qué habláis?
Responder Con Cita
  #10  
Antiguo 27-09-2018
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Cita:
Empezado por leus Ver Mensaje
Bueh, es un poco complicado - tuve una empresa, vendí un software, pero ahora la empresa está, hm, "inactiva" (y yo estoy trabajando en otra parte). Pero los clientes siguen usando el software y yo, que tiendo a valorar mi nombre, les sigo dando soporte como un gil.

Mi filosofía respecto del soporte es intentar evitar dar soporte - para eso, sigo manteniendo el software. A veces me paso días desarrollando cosas que me evitarán una hora de soporte :-)

En eso estoy ahora. Estoy intentando actualizar mi software porque quiero compilarlo en Tokyo. No quiero tener que usar máquinas virtuales para tener Delphi XE en un lado y Tokyo en otro... prefiero usar un solo IDE.
Me parece estar escuchando la historia de mi vida
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
IDE en Delphi Tokyo 10.2.3 hugobenitez Varios 6 27-06-2018 18:13:54
QuotedStr Delphi Tokyo 10.2 rmendoza83 Varios 1 28-11-2017 02:53:41
Disponible Delphi 10.2 Tokyo AgustinOrtu Noticias 54 05-07-2017 17:31:37
Delphi 10.2 Tokyo vs DevExpress lgarcia OOP 2 05-06-2017 15:00:13
Compra de Delphi Tokyo o Berlin pruz Varios 20 08-04-2017 17:02:46


La franja horaria es GMT +2. Ahora son las 15:23:33.


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