FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pues si no es tarde aún para reportar incidencias, partiendo de la versión XE2 genera los siguientes errores:
en GHFVCL:
En GHFRTL:
Saludos, |
#2
|
||||
|
||||
Probando el demo de RelyTweet, me generó un error (el famoso Access Violation #000000):
El error se da en la función de la librería GHFRTL:
El error se debe a un caracter extraño que se encuentra en el archivo de entrada, en la línea 5522 (los corazones): Cita:
|
#3
|
||||
|
||||
Hola gatosoft, es un gusto leer tu aportación. Encuentro interesantes esas incidencias, afortunadamente no son secciones críticas de la biblioteca, pero hay que resolverlas:
Cita:
Respecto al error E2250 y la advertencia W1000 que se presentan, investigué un poco y encontré un par de textos en los que se habla de esta situación (al parecer es algo que vienen atravesando muchas bibliotecas al actualizarse a Delphi XE4/XE5): François Piette y Remy Lebeau. En nuestro caso sugiero hacer lo siguiente: Dentro de la unidad GHFRTL, ve a la cláusula Uses que se encuentra al comienzo de la sección Implementation, y agrega ahí la unidad System.ANSIStrings. Compila de nuevo y si ahora aparece el error "Ambiguous overloaded call to 'StrLen'", entonces agrega "System.ANSIStrings." en los dos lugares donde se usa la función StrLen. Es decir, hay que calificarla, pero sólo si aparece el error "Ambiguous overloaded" al compilar (por alguna razón Embarcadero dejó dos versiones de cabeceras idénticas de la función StrLen).
Algo importante sobre las versiones Varios colegas me han sugerido emplear directivas de compilación $IfDef...$Else...$EndIf para mantener el código de todas las ediciones (7..XE5) en un único grupo de archivos. Pero he de recalcar que no es mi deseo optar por esa vía. Sé que mantener paquetes separados para cada versión de Delphi supone un mayor esfuerzo por parte de mí y mis colaboradores en el proyecto, pero estoy convencido de que es mejor así, habrán visto que Borland y Embarcadero lo han hecho también de esta manera. La ventaja de peso es que es más fácil de administrar el código en ediciones limpias y separadas, haciendo copiar y pegar las veces que sea necesario, que trabajar sobre un único grupo de unidades repletas de directivas que, pensando en la variedad de versiones modernas de Delphi, terminarían ofuscando el código fuente, volviéndolo difícil de mantener por parte de los autores y difícil de consultar por parte de los usuarios. Es deseable que GH Freebrary llegue a ser un digno complemento de la RTL/VCL/FMX; olvidémonos de la puerta fácil de las directivas para versión. Volviendo a las incidencias que reportas, Federico, mencionas que ocurre un error AV con el programa de ejemplo RelyTweet. Por la ubicación del error, parece que se trata de una cadena de caracteres vacía que no se espera que lo sea. ¿Podrías señalar la línea exacta del error, tu versión de Windows y, si no es molestia, el contenido de la pila de llamadas (call stack)? Esa pequeña aplicación trabaja perfectamente con XE2-Windows XP. Tal vez el problema esté en la función FoldString de la API de Windows o en mi función ghComposition. Estaré atento a cualquier retroalimentación. Un saludo. Al González. P.D. Para mi documentación, me resultaría bueno conocer qué declaración tienen la propiedad TDataSource.DataLinks (Data.DB) y el tipo TFloatRec (System.SysUtils) en Delphi XE3, XE4 y XE5. |
#4
|
||||
|
||||
En XE4:
Para el caso de la función StrLen, no compila tampoco con System.AnsiStrings.StrLen: [dcc32 Error] GHFRTL.pas(3605): E2250 There is no overloaded version of 'StrLen' that can be called with these arguments ==> solo Acepta tipos PAnsichar, PWideChar Hice pruebas con Length y SizeOf y ambas generan el mismo resultado (21, para la definición de Digits del TFloatRec ) Última edición por Al González fecha: 14-03-2014 a las 06:10:39. Razón: Poner espacios en "< TDataLink >" ya que el navegador lo estaba tomando como etiqueta HTML. |
#5
|
||||
|
||||
Cita:
Hasta XE2 (o XE3), TFloatRec tenía esta declaración:
Gracias por confirmar el funcionamiento de los cambios. Saludos. |
#6
|
||||
|
||||
Cita:
Unos ejemplos de lo que tengo en mi PC: TMS Software AlphaSkins DelphiArea DevArt Todos ellos tienen directivas include en las que definen las versiones de Delphi: Archivo sDefs.Inc: {$DEFINE ALPHASKINS} {$IFDEF VER260} {$DEFINE DELPHI_XE5} {$ENDIF} {$IFDEF VER250} {$DEFINE DELPHI_XE4} {$ENDIF} {$IFDEF VER240} {$DEFINE DELPHI_XE3} {$ENDIF} {$IFDEF VER230} {$DEFINE DELPHI_XE2} {$ENDIF} {$IFDEF VER220} {$DEFINE DELPHI_XE} {$ENDIF} {$IFDEF VER210} {$DEFINE D2010} {$ENDIF} {$IFDEF VER200} {$DEFINE D2009} {$ENDIF} {$IFDEF VER185} {$DEFINE D2007} {$ENDIF} {$IFDEF VER180} {$DEFINE D2006} {$ENDIF} {$IFDEF VER170} {$DEFINE D2005} {$ENDIF} {$IFDEF VER150} {$DEFINE DELPHI7UP} {$ENDIF} {$IFDEF VER140} {$DEFINE DELPHI6UP} {$ENDIF} {$IFDEF VER130} {$DEFINE DELPHI5} {$ENDIF} {$IFDEF DELPHI7UP} {$WARN UNIT_PLATFORM OFF} {$WARN SYMBOL_PLATFORM OFF} {$DEFINE CHECKXP} {$ENDIF} {$IFDEF D2009} {$DEFINE NOACPNG} {$ENDIF} {$IFNDEF DELPHI6UP} {$UNDEF TNTUNICODE} {$ENDIF} {$IFDEF DELPHI7UP} {$WARN UNSAFE_CODE OFF} {$WARN UNSAFE_TYPE OFF} {$WARN UNSAFE_CAST OFF} {$IFDEF D2005} {$WARN SUSPICIOUS_TYPECAST OFF} {$ENDIF} {$IFDEF D2009} {$WARN IMPLICIT_STRING_CAST OFF} {$WARN IMPLICIT_STRING_CAST_LOSS OFF} {$ENDIF} {$ENDIF} Delphiarea.Inc: {$DEFINE COMPILER_XE3_UP} {$DEFINE COMPILER_XE2_UP} {$DEFINE COMPILER_XE_UP} {$DEFINE COMPILER2010_UP} {$DEFINE COMPILER2009_UP} {$DEFINE COMPILER2007_UP} {$DEFINE COMPILER2006_UP} {$DEFINE COMPILER2005_UP} {$DEFINE COMPILER7_UP} {$DEFINE COMPILER6_UP} {$DEFINE COMPILER5_UP} {$DEFINE COMPILER4_UP} {$DEFINE COMPILER3_UP} {$DEFINE COMPILER2_UP} Tienes razón con las otras justificaciones, El codigo es menos transparente, pero creo que es necesario. Otro tema importante es el que te comentaba por mensaje privado sobre el repositorio, con éste tipo de herramientas y apoyadas en éste foro incrmentarías la participación de colaboradores, Un slaudo, Saludos, |
#7
|
||||
|
||||
A fin de no dejar cabos sueltos, vuelvo a solicitar un par de cosas a quien tenga XE4 (no dejemos a gatosoft solo en esto):
Cita:
Cita:
|
#8
|
||||
|
||||
Cita:
Sólo para confirmar que estos cambios sí resultaron efectivos en XE5, que es la versión que usamos en el trabajo (¡sí, ya tengo empleo formal! ). Así que es probable que pronto suba al repositorio una edición oficial de GHF para XE5. El jefe me ha dado toda la libertad para seguir desarrollando esta biblioteca, que, dicho sea de paso, también usaremos aquí para los proyectos de la empresa. De momento no dispongo de XE4, pero voy a solicitarlo (creo que la licencia admite descargas de versiones anteriores recientes). Por otro lado, también estoy alentando a los compañeros de la oficina para que nos actualicemos próximamente a XE7, ya que parece ser una versión muy buena. De hecho también voy a adquirirla de forma personal en cuanto esto sea posible. Si bien han mejorado un poco las cosas, sigo esperando todo el apoyo que ustedes puedan o consideren apropiado brindar a este proyecto. Por favor, no se despeguen. Un saludo. Al González. |
#9
|
||||
|
||||
Me alegro mucho y espero que sea para bien
|
#10
|
||||
|
||||
Excelentes noticias Al... Por ti, por GHF, y por Delphi....
|
#11
|
||||
|
||||
Bien, bien, bien!!
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#12
|
|||
|
|||
En horabuena por las buenas noticias Al!
Saludos... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
GH Freebrary para Delphi XE2 | Al González | [GH Freebrary] | 7 | 12-01-2014 08:49:35 |
GH Freebrary para Delphi 2010 | Al González | [GH Freebrary] | 3 | 18-05-2013 00:51:47 |
Requerimiento de una función para GH Freebrary. | TiammatMX | [GH Freebrary] | 9 | 18-04-2013 04:41:14 |
Avanzando con GH Freebrary | Al González | [GH Freebrary] | 13 | 23-03-2013 07:08:03 |
Introducción a GH Freebrary | Al González | [GH Freebrary] | 0 | 18-03-2013 10:11:54 |
|