Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2011
nachoasensio nachoasensio is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 61
Poder: 22
nachoasensio Va por buen camino
¿Freereport para Delphi XE?

Hola:

He intentado que Delphi XE (Pro) sea capaz de trabajar con FreeReport 2.34, pero no hay manera. Supongo que los cambios de Unicode, strings, etcétera son demasiado para esa librería. El caso es que me encanta cómo funciona Freereport, y no estoy dispuesto a pagar 180 euros por el motor de informes estándar de Fastreport. Y con RAVE no me manejo. Necesito ser capaz de vincular imágenes que están en ficheros (y no en la bd) en la banda de datos principal, y no hay manera . Además, Rave no tiene un diseñador para integrar en el exe (a no ser que pagues por él).

¿Alguien sabe lo suficiente sobre los cambios de delphi, a partir de la versión 2009, y ha sido capaz de echar a andar Freereport? Yo lo he intentado, pero tengo un lío enorme con los nuevos string, PChar y demás "novedades" del delphi.

Si alguien ha modificado Freereport para que funcione en Delphi XE, y quiere compartirlo, le quedaría muy agradecido.

Un saludo.
Responder Con Cita
  #2  
Antiguo 30-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Realmente la mayoría de código "viejo" debería de funcionar perfectamente con D2009. El problema que tienen muchos componentes es que trabajan con combinaciones tipo CadenaString := CadenaAnsiString, lo que funcionaba perfectamente antes de D2009. Lo importante es que veas en el código asignaciones de tipo AnsiString, AnsiChar echas a un String o Char respectivamente.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 30-03-2011
nachoasensio nachoasensio is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 61
Poder: 22
nachoasensio Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
Realmente la mayoría de código "viejo" debería de funcionar perfectamente con D2009. El problema que tienen muchos componentes es que trabajan con combinaciones tipo CadenaString := CadenaAnsiString, lo que funcionaba perfectamente antes de D2009. Lo importante es que veas en el código asignaciones de tipo AnsiString, AnsiChar echas a un String o Char respectivamente.
Empecé a hacerlo. Lo primero que me mosqueó fue que los {IFDEF} no reconocían "DELPHI6", por lo que los uses Variants había que sacarlos de allí. Después empezaron las definiciones TfrBookmark = type TBookmark, que dan un error la mar de raro (eliminé el tipo TFrBookmark y donde se usaba fui poniendo directamente TBookmark). Luego empecé a cambiar string por AnsiString, luego llegaron los pchar, los streams,... y al final el lío que tenía en la cabeza era tal que desistí. La única prueba que hice, desactivando los códigos de barras (porque no hubo forma de que compilaran) me mostraba un informe en blanco

He estado buscando por internet, por si alguien los había pasado a delphi xe (o a 2009 ó 2010), pero no he encontrado nada, y los RAVE no me sirven para lo que quiero (o no sé usarlos)...

En fin, mañana a lo mejor vuelvo a intentarlo, después de releer la documentación sobre los cambios en delphi a partir del 2009.

Un saludo.
Responder Con Cita
  #4  
Antiguo 31-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Mmm me quedé con ganas de saber el problema con el TfrxBookmark
Pero, creo que mejor hubieses dejado los String a cómo estaban y no cambiarlos a AnsiString. De hecho, yo hubiera cambiado los AnsiString, AnsiChar por sus contrapartes String y Char (incluyendo PAnsiChar -> PChar).

Por el lado de la definición de DELPHI6, por lo que he visto en otros componentes, es que por defecto definen una versión en específico del IDE. Esto lleva a un enredo con las {$IFDEF DELPHIx} y se necesita de bastante análisis para comprender lo que realmente se quiere decir. Pero ya que has mencionado la unidad Variants, casi con certeza puedo decir que debiste dejar esta unidad en el USES.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 26-11-2012
Avatar de makina
makina makina is offline
Miembro
 
Registrado: oct 2005
Ubicación: Mexico DF.
Posts: 27
Poder: 0
makina Va por buen camino
Alguien ha logrado instalar freereport en XE?

Saludos a todos.
Me tope con este tema y creo que he resuelto un 80 % de las modificaciones necesarias para generar el paquete para instalar en xe
el unico problema que me enfrento es a esto, en la unidad
FR_DBRel

al compilar me muestra
[dcc32 Error] FR_DBREL.PAS(22): E2574 Instantiated type can not be used for TYPE'd type declaration

la linea de error es esta

Código Delphi [-]
 
 TfrBookmark =
{$IFDEF IBO} type string;
{$ELSE} type TBookmark; // <-- aqui muestra el error
{$ENDIF}

segun la documentacion que encontre en
http://docwiki.embarcadero.com/RADSt...ation_(Delphi)

EL error es el siguiente, sin embargo no se como solucionarlo, Alguna idea?

Código Delphi [-]
This occurs when trying to define a type based on a generic object.
program E2574;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
type
  TGenClass = class
  end;
 
  TClass = type TGenClass; //E2574
 
type
  TGenArray = array of T;
  TArray = type TGenArray; //E2574
 
type
  TGenRecord = record
  end;
 
  TRecord = type TGenRecord; //E2574
 
begin
end.


Nota: Si alguien ha logrado la instalación de los freereport en XE y pudiera compartir el paquete se los agradecería, y por su puesto en cuanto yo logre lanzar el freereport en xe compartire el paquete

saludos
Responder Con Cita
  #6  
Antiguo 27-11-2012
nachoasensio nachoasensio is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 61
Poder: 22
nachoasensio Va por buen camino
Yo finalmente opté por "pasar por caja" y compré FastReports. Y no me arrepiento. Es bastante más potente que Freereports y está en continuo desarrollo. Pagas una vez y tienes soporte y actualizaciones por mucho tiempo.

Otra alternativa es trabajar con Lazarus, que sí tiene FreeReports, pero yo no he logrado que funcionen bien cosas tan básicas como actualizar una tabla sqlite correctamente, sin usar SQL, aparte de que el entorno es muy lento.

Me temo que en esta vida no queda otra que pagar para poder programar con un poco de comodidad. Cuando, como en mi caso, no se hace como profesión, sino como afición, y no se gana nada por lo programado, es una faena, y más al precio al que ponen los de Embarcadero las actualizaciones, porque dan ganas de cambiarse a java (¡puaaagggg!) o irse a alguna esquina poco iluminada a buscar una copia del nuevo Delphi. Pero hay quien se gasta una fortuna en soldaditos de plomo... y otros tenemos que pagar para poder disfrutar trabajando en Delphi.
Responder Con Cita
  #7  
Antiguo 27-11-2012
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por nachoasensio Ver Mensaje
....... Pero hay quien se gasta una fortuna en soldaditos de plomo... y otros tenemos que pagar para poder disfrutar trabajando en Delphi.
Me ha agradado tu comentario.

La realidad es que las prioridades personales están por encima de todo.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 27-11-2012
Avatar de makina
makina makina is offline
Miembro
 
Registrado: oct 2005
Ubicación: Mexico DF.
Posts: 27
Poder: 0
makina Va por buen camino
Muchas Gracias Por su respuesta. Desafortunadamente aunque quisiera usar FastReport su licencia limita su uso en ciertos aplicativos. por lo que no puedo (legalmente) comprarlos y usarlos en mi aplicación.
espero alguien pudiera ayudar con el error que me muestra al intentar usar el TBookmark.

Gracias de antemano.
Responder Con Cita
  #9  
Antiguo 28-11-2012
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
Cita:
Empezado por makina Ver Mensaje
[...] espero alguien pudiera ayudar con el error que me muestra al intentar usar el TBookmark.
Lo siguiente no será de mucha ayuda, pero quizá sirva para ir avanzando. El error aparece porque el compilador no admite definir tipos de forma tipificada cuando el tipo base es un genérico.
Código Delphi [-]
Type
  T1 = Type Integer;  // Válido, se define nuevo tipo "T1", entero de 32 bits con signo (como Integer)
  T2<Tipo> = Array Of Tipo;  // Se define tipo genérico
  T3 = Type T2<Integer>;  // Inválido por ser T2 un tipo genérico
  T4 = T2<Integer>;  // Válido, se define un alias "T4" para el tipo T2<Integer>
Resulta ser que TBookmark es desde hace algunas versiones un alias del tipo TBytes, el cual la RTL define de forma implícita como TArray<Byte> (array of Byte). Para sortear ese inconveniente, vas a tener que cambiar el código que muestras así:
Código Delphi [-]
TfrBookmark =
{$IFDEF IBO} type string;
{$ELSE} type TBookmark; // <-- aquí muestra el error
{$ENDIF}
por:
Código Delphi [-]
TfrBookmark =
{$IFDEF IBO} type string;
{$ELSE} TBookmark;
{$ENDIF}
Es decir, TfrBookmark ya no podrá ser un tipo declarado de forma tipificada (con la palabra Type después del signo de igual). El impacto de este cambio estará en todas aquellas partes de FreeReport que asuman la existencia de TfrBookmark como tipo de dato único y no como un simple alias de TBookmark / TBytes. Como yo lo veo y con la dispensa de no conocer FreeReport, diría que eso va a ser el menor de tus problemas en el caso que planteas, así que adelante.

Saludos.

Al González.

Última edición por Al González fecha: 28-11-2012 a las 06:40:58.
Responder Con Cita
  #10  
Antiguo 29-11-2012
Avatar de makina
makina makina is offline
Miembro
 
Registrado: oct 2005
Ubicación: Mexico DF.
Posts: 27
Poder: 0
makina Va por buen camino
Cita:
Saludos.

Al González.
Al. Muchas Gracias por tu aporte. voy intentar modificar el codigo con esta explicación y les aviso como me ha ido..
Gracias
Responder Con Cita
  #11  
Antiguo 08-01-2013
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
He encontrado este enlace que adapta FreeReport a D10. No lo he probado, pero puede que tenga todo eso resuelto.

http://code.google.com/p/freereport-utf/
__________________
http://www.gestionportable.com
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
Problema con freereport jusnjosesch Impresión 0 09-02-2009 22:50:28
FreeReport y delphi 7 rpadin Impresión 6 28-08-2004 00:48:54
Un problema con JPG, GIF y Freereport!!! rpadin Impresión 5 05-06-2004 00:06:50
freereport pepe2000 Impresión 0 17-05-2004 23:08:19
FreeReport y C++Builder 6.0 TJose Impresión 0 09-02-2004 14:01:32


La franja horaria es GMT +2. Ahora son las 10:54:09.


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