Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Bibliotecas de código fuente > [GH Freebrary]
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 14-03-2014
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 Al González Ver Mensaje
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.
No comparto tu justificación con respecto a Embrcadero, pues ellos mantienen una sola versión porque es su razón de ser, obliga a sus usuarios a actualizarse a versiones mas recientes paravender mas. Embarcadero tiene muchos partners (fabricantes de coponentes) dignos de complementar sus productos y todos ellos trabajan con éstas directivas:

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,
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
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


La franja horaria es GMT +2. Ahora son las 11:28:53.


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